Tavo is a free, lightweight browser extension that gives you per-tab volume control (0–400%), one-click tab muting, per-tab microphone mute, and per-tab webcam toggle — for any playing audio, video, or WebRTC call in Chrome, Edge, Brave, and other Chromium browsers.
Instead of fumbling with site-specific volume sliders or hunting through
chrome://settings, Tavo puts every audio and media control on a single
popup for each open tab. Boost a quiet YouTube video to 400%, mute a noisy
ad without pausing your music, or kill your mic and camera on a tab you
forgot about — all without leaving the page.
Built on Manifest V3 and the native
chrome.tabsmuting API, Tavo silences all audio in a tab — including WebRTC streams — and scales volume via a per-tab Web Audio gain graph.
| Control | Range / Behavior | Survives reload? |
|---|---|---|
| Tab volume | 0% – 400% boost above the site's default | Yes |
| Tab mute | Browser-native mute (silences all audio + WebRTC) | Yes |
| Microphone mute | Mutes your mic for the active WebRTC session | Yes |
| Webcam toggle | Disables the camera track for the active tab | Yes |
| Per-tab indicator | Toolbar counter (up to 3) showing adjusted tabs | Live |
| Per-frame coverage | Works across iframes and cross-origin embeds | Automatic |
- Volume boost up to 400% — amplify quiet videos, podcasts, and calls beyond the browser's built-in maximum.
- Independent per-tab state — every tab remembers its own volume, mute, mic, and camera settings for the duration of the session.
- Survives reloads and navigation — state is persisted in
chrome.storage.sessionand re-applied automatically on every page load. - Mic and camera isolation — disable your microphone or webcam on one tab without affecting other tabs, calls, or apps.
- Live toolbar badge — instantly spot which tabs still have adjustments applied (e.g. a tab still muted after a call ends), without opening the popup.
- No tracking, no external servers — Tavo runs entirely on-device. State is wiped the moment you close the browser.
(Link goes here once published.)
- Download the latest build from Releases, or build from source (see Development below).
- Open
chrome://extensions. - Enable Developer mode (top-right toggle).
- Click Load unpacked and select the built
.output/chrome-mv3directory.
Tavo requires Chrome 88+ (released January 2021) and is compatible with every major Chromium-based browser: Chrome, Edge, Brave, Arc, Vivaldi, and Opera.
Tavo is a Manifest V3 extension split across three layers:
- Background service worker — the single source of truth for per-tab
state. Applies browser-native muting via
chrome.tabs.update({ muted })and persists volume, mic, and camera settings inchrome.storage.session. State survives service-worker restarts and is wiped when the browser closes. - Content script (Web Audio gain graph) — injected into every frame of
every tab. Connects each
<audio>/<video>/ WebRTCMediaStreamelement to aGainNodeand scales amplitude by the configured factor. Reports live mic/camera track activity back to the background worker. - Popup UI — a React interface that reads and writes tab state in real time, broadcasting changes to every open popup and content script.
The mic mute and camera toggle operate on getUserStream tracks captured
by the page itself — useful for muting yourself on a tab you've left open
without affecting your system-level microphone or other calls.
Tavo is a free browser extension for Chrome, Edge, and Brave that adds per-tab volume control (0–400%), tab muting, per-tab microphone mute, and per-tab webcam toggle. It runs entirely on-device — no account, no tracking, no external servers.
Chrome's native mute only silences a tab completely. Tavo gives you fine-grained volume control (boost up to 400%, not just on/off), plus independent mic and webcam toggles per tab — and every setting survives page reloads and navigation.
Yes. Tavo applies volume via a Web Audio GainNode, so you can amplify a
quiet video or call up to 400% of its original level. Chrome's
built-in controls cap at 100%.
Yes. Browser-native muting silences all WebRTC audio in the tab, and the
per-tab mic mute and webcam toggle operate directly on the page's
getUserStream tracks. Tavo is useful for silently killing your mic on a
tab you've forgotten about.
Tavo runs entirely on-device. It stores per-tab state in
chrome.storage.session, which is wiped when the browser closes. It does
not collect, transmit, or sell any data. The full source code is on
GitHub.
Any Chromium-based browser version 88 or later: Chrome, Edge, Brave, Arc, Vivaldi, and Opera. Firefox is not currently supported.
No. The background worker is idle between adjustments, and the content
script only attaches a single GainNode per media element. The popup is
only mounted when you click the toolbar icon.
Yes. Tavo is open source under the MIT license and free to use, modify, and self-host.
Tavo is a pnpm + Turborepo monorepo. Node 20+ is required.
apps/extension/ # the browser extension (WXT + React)
apps/web/ # Next.js marketing site (App Router, React 19)
packages/ui/ # @workspace/ui — shared shadcn/ui (Base UI) components
packages/eslint-config/
packages/typescript-config/
pnpm install
pnpm dev # extension + web dev servers via turbo
pnpm --filter @workspace/extension dev # extension only
pnpm --filter web dev # web app onlyWhile the extension dev server is running, load .output/chrome-mv3-dev
from chrome://extensions (Developer mode → Load unpacked).
pnpm build # build all packages
pnpm dev # dev servers for all packages
pnpm lint # eslint across the workspace
pnpm format # prettier --write
pnpm typecheck # tsc --noEmit across the workspace
pnpm clean:workspace # remove node_modules, caches, and build artifacts- WXT — modern WebExtension framework, Manifest V3
- React 19 — popup UI
- Web Audio API — per-tab gain graph for volume scaling
chrome.storage.session— per-tab state, survives SW restarts- Next.js 16 + App Router — companion marketing site (
apps/web) - shadcn/ui (Base UI style) — shared component library
- Tailwind CSS v4 — styling
- TypeScript 5 — end-to-end type safety
- pnpm + Turborepo — monorepo orchestration
MIT © Tonmoy Deb
Tavo is open source. Issues, feature requests, and pull requests are welcome on GitHub.