How to Translate a Zoom Meeting in Real Time — Chrome Extension Guide
If you have ever sat through a Zoom meeting where half the participants spoke a language you only half understand, you already know what Zoom's built-in tooling does and does not do. Zoom Automated Captions transcribe what is being said, but only in the language being spoken — there is no translation step. Zoom AI Companion adds some translation, but it is gated behind paid Zoom plans, supports a narrow set of language pairs, and is locked into the Zoom ecosystem. The moment your next call moves to Teams or Meet, the workflow you just learned is useless.
This guide walks through a different approach: a Chrome extension that runs alongside the Zoom web client and turns any meeting into a live, translated caption feed in 69 languages. Total setup time is about two minutes, and there is nothing for IT to approve beyond a standard Chrome Web Store install.
What You Need
Before starting, make sure you have:
- A Chromium-based browser, version 114 or later. Chrome, Edge, Brave, and Arc all qualify. Safari and Firefox are not supported because they do not implement the extension APIs Gaavala depends on.
- A Zoom meeting join link that opens in a browser tab. Any standard
zoom.us/j/...URL works. - About two minutes to install the extension and start your first session.
You do not need a Zoom paid plan, an admin approval, or any installation beyond the extension itself. The Zoom desktop client is not used in this flow at all.
Step 1 — Install Gaavala from the Chrome Web Store
Open the Gaavala listing on the Chrome Web Store and click "Add to Chrome":
chromewebstore.google.com/detail/lfpocpgglghmaijacokoelmjlhipbgd
Chrome will show the standard permissions prompt listing what the extension can access. Approve it. Once installed, pin the Gaavala icon to your toolbar so you can reach the side panel quickly — click the puzzle-piece icon in the top right of Chrome and toggle the pin next to Gaavala.
When you click the toolbar icon for the first time, the Gaavala side panel opens and prompts you to sign in with Google or Microsoft. Sign-in uses Chrome's identity API and runs entirely through OAuth — no separate account on the Gaavala website is required. Your one-time free trial activates automatically and gives you 5 minutes of translated captions total — no credit card required, and once you use those 5 minutes the trial is exhausted (it never resets).
Step 2 — Join Your Zoom Meeting in a Chrome Tab
This is the step most people get wrong on the first try. Gaavala captures audio from a Chrome tab using the tabCapture API. That means the meeting must be running in a tab, not in the Zoom desktop client.
Click your Zoom meeting link. Zoom will try hard to open the desktop app and may not show a browser join link by default. If you do not see one immediately, look for the small "Join from your browser" link near the bottom of the Zoom landing page. On some Zoom meeting pages this link only appears after you cancel the desktop-app launch dialog once or twice. If the link is genuinely missing, the meeting host has disabled web join — see the troubleshooting section below for the workaround.
Once you click "Join from your browser", Zoom loads its web client in the current tab. Allow microphone and camera access if prompted, enter your name, and join the meeting normally. Leave this tab open for the duration of the meeting. You can switch to other tabs freely — the audio capture continues regardless of whether the Zoom tab is in the foreground.
Step 3 — Open the Gaavala Side Panel and Share Tab Audio
With the Zoom tab focused, click the Gaavala icon in your toolbar. The side panel opens on the right side of the browser. Click "Start" to begin a transcription session.
Chrome will present a tab-picker dialog. Select the Zoom tab from the list and confirm. Make sure the "Share tab audio" checkbox at the bottom of the dialog is enabled — without it, the extension will see an empty audio stream. After you confirm, Chrome shows a small banner at the top of the Zoom tab indicating that the tab is being captured. This is normal and other meeting participants do not see it.
Behind the scenes, Gaavala routes the captured audio into an offscreen document, opens a direct WebSocket to Soniox, and starts streaming. The audio is also piped back through the local audio graph, so you continue to hear the meeting normally — nothing is muted or redirected. No audio packet ever reaches a Gaavala server. If you want to verify that for yourself, the privacy architecture post walks through exactly how to inspect it in DevTools.
Step 4 — Pick Source and Target Languages
In the side panel, choose the source language (what the speakers are using) and the target language (what you want to read). Gaavala supports 69 languages through Soniox, including the long tail that most translation tools quietly ignore — Turkish, Vietnamese, Tagalog, Czech, Greek, Hebrew, Hindi, Hungarian, Romanian, Thai, and more.
If your meeting has speakers in several languages, set source to "auto-detect". Soniox handles language switching mid-stream, and the captions update accordingly. Speaker diarization is on by default, so each utterance is labelled with a speaker tag — useful when the conversation moves quickly between participants.
You can change either language at any time without restarting the session.
Step 5 — Read Live Captions (or Speak Back with Pro)
Translated captions stream into the side panel within a second or two of each phrase being spoken. Click any segment to copy it. At the end of the meeting you can export the full transcript as text or, on the Pro plan, request an AI summary that condenses the conversation into bullet points and action items.
If you upgrade to Pro ($24.99/month, unlimited minutes), the Speak Mode panel becomes available. Speak Mode is a two-way feature: you type or speak in your own language, Gaavala translates it to the meeting's language, and a synthesized voice plays it back into the call. There are two interaction modes:
- Push-to-talk (PTT): hold a hotkey, speak, release. Gaavala translates and speaks the result into the meeting on the next breath.
- Timed Speak: type a phrase and schedule it to be spoken at a chosen moment — useful when you need to land a specific sentence cleanly during a presentation.
Synthesis runs locally through Kokoro-82M by default. If you want a cloned version of your own voice, plug in your own ElevenLabs API key — Gaavala stores it on your device and never proxies it through our servers.
Common Issues
"Join from your browser" link is not visible
Zoom intentionally hides the web join link to push users toward the desktop app. Three workarounds:
- Cancel the desktop-app launch prompt. When you click the meeting link, Chrome asks whether to open the Zoom client. Click Cancel. The web join link usually appears on the page after one or two cancels.
- Append
?br=1to the meeting URL. For many Zoom URLs this forces the browser join flow directly. For example:https://zoom.us/j/1234567890?br=1. - Ask the host to enable web client join. Zoom account admins can disable web join at the org level. If neither workaround above works, the host's organization has turned it off and there is no client-side fix.
Captions show "no audio detected"
This is almost always the tab-audio checkbox. End the session, click Start again, and confirm "Share tab audio" is checked in the picker dialog. Other common causes: you accidentally selected the wrong tab, the Zoom tab is muted at the OS level, or the meeting itself has not yet started broadcasting audio.
Captions are accurate but feel lagged
Some latency is inherent — Soniox needs to hear enough of a phrase to commit to a translation. Typical end-to-end latency is one to two seconds. If it feels significantly longer, check your network: Soniox is streaming over a WebSocket from your machine, and a slow or lossy connection shows up directly in the caption delay.
Why the Extension Needs the Zoom Web Client
A common follow-up question: why can the extension not just hook into the Zoom desktop app? The honest answer is that browser extensions cannot reach desktop applications. Chrome's tabCapture API only sees what is happening inside the browser. A desktop Zoom call runs in a separate native process with its own audio pipeline, completely outside Chrome's reach.
There are workarounds — virtual audio cables, system-level loopback drivers, native helper apps — but every one of them adds installation friction, signing requirements, and OS-specific bugs. The Chrome extension form factor was chosen specifically because it works the same on Windows, macOS, Linux, and ChromeOS, requires no driver install, and routes zero audio through any third-party server. The trade-off is that you join meetings in the browser. Once you do that for a week, the desktop app rarely feels missing.
What Gaavala Does That Zoom Built-In Does Not
| Capability | Zoom AI Companion | Gaavala |
|---|---|---|
| Real-time translated captions | Limited language pairs | 69 languages, any pair |
| Two-way Speak Mode (text/voice in, translated voice out) | No | Yes (Pro) |
| Voice cloning for spoken translation | No | Yes (ElevenLabs BYOK) |
| Works across Zoom, Teams, Meet, Webex | No | Yes |
| Audio leaves a vendor server | Yes (Zoom) | No (direct to Soniox) |
| Speaker diarization | Yes | Yes |
| Required Zoom plan | Paid Zoom plan | None |
The cross-platform point is the one that matters most in practice. If your team uses Zoom on Tuesdays, Teams on Thursdays, and Meet for client calls, you only learn one tool with Gaavala. The captions, hotkeys, language picker, and Speak Mode behave identically regardless of which meeting platform is running in the tab.
FAQ
Does Gaavala work with the Zoom desktop client?
No. The extension can only capture audio from a Chrome tab. You need to join your meeting through Zoom's web client. Every meeting URL Zoom issues supports the web client unless the host's account has explicitly disabled it.
Will other Zoom participants know I am using Gaavala?
No. Gaavala captures audio passively from the tab and never injects anything into the meeting itself. There is no extra participant, no audio modification, and no notification to the host. Chrome's "Tab is being captured" indicator is visible only to you.
Is my meeting audio uploaded to Gaavala servers?
No. Audio streams directly from your browser to Soniox over an encrypted WebSocket. Gaavala's backend is never in the audio path. The full architecture is documented in the meeting audio privacy post.
How does the free trial work?
Yes. The free trial gives you 5 minutes of translated captions total, with no credit card required — a one-time lifetime allowance that never resets. Speak Mode is not included in the free trial; it is a Pro-only feature. Pro at $24.99/month unlocks unlimited transcription along with Speak Mode (PTT, Timed Speak) and ElevenLabs voice cloning. Cancel any time from the side panel.
Can I use Gaavala on a phone or tablet?
Not yet. Mobile Chromium browsers do not implement the extension APIs Gaavala depends on (tabCapture, offscreen, sidePanel). Use a desktop or laptop with a current Chromium browser.
Get Started
One-time free trial — 5 minutes of transcription, no credit card required, never resets. Speak Mode is Pro-only ($24.99/month). Sign in with Google or Microsoft after install and your next Zoom meeting will have live translated captions in two minutes.