A lightweight browser extension that blocks Twitch ads on live streams and VODs while keeping playback stable.
| Store | Link | Status |
|---|---|---|
| Firefox Add-ons | TTV AB - Twitch Ad Blocker | Active |
| Chrome Web Store | TTV AB - Lightweight, powerful ad blocker | Pending approval |
- ✅ Blocks preroll and midroll ads on live streams and VODs
- ✅ Supports both live playback and Twitch
/videos/<id>archives - ✅ Cleans up stale Twitch ad UI after recovery
- ✅ Avoids purple-screen playback interruptions
- ✅ Restores your chosen quality after ad recovery
- ✅ Manifest V3 compatible
- ✅ Simple enable/disable toggle
- ✅ Accessible popup controls and live-updating stats
- ✅ Persistent "Ads Blocked" statistics
- ✅ Statistics Dashboard with time saved, weekly charts, and achievements
- ✅ 12 Achievement Badges to unlock as you block ads
- ✅ Language Selector - 11 languages supported (EN, ES, FR, DE, PT, IT, JA, KO, ZH-CN, ZH-TW, RU)
- ✅ Per-channel ad blocking breakdown
- ✅ Modern, animated UI (Cyberpunk/Neon aesthetic)
- ✅ Lightweight and fast
- Install the extension from your browser's add-on store
- Navigate to twitch.tv and open any live stream or VOD
- Ads are blocked automatically — no configuration needed
- Click the extension icon to view stats, toggle ad blocking on/off, or toggle the Buffer Fix
- Change language via the dropdown in the popup footer
TTV AB intercepts Twitch's HLS video playlists at the network level. When Twitch injects ad-marked segments or forces the player onto an ad-only path, the extension:
- Strips ad segments from M3U8 media playlists in real time
- Fetches clean backup streams using alternative player types when the native stream is ad-locked
- Serves a valid empty video segment in place of blocked ad content to keep the decoder stable
- Monitors playback health and automatically recovers from stalls after ad breaks
- Restores your original quality and volume settings once native playback resumes
During ad recovery, Twitch may briefly serve a lower-quality backup stream (e.g. 360p) while the extension keeps playback alive. Your chosen quality is restored automatically once the ad window ends.
- Ad-stripped backup promotion — Source-tier candidates with ads are stripped and promoted at full quality instead of being rejected, eliminating 360p quality drops on contaminated channels
- Recovery segment injection — when ad stripping removes all segments, cached live segments are injected to prevent black-screens and ad leakage on heavily-contaminated streams
- No more 360p degradation —
autoplayrestricted to absolute last resort; Source-tier types always tried first with parallel pre-fetch
- Native-quality backup —
siteplayer type now leads backup selection, keeping full stream quality during ad blocking
- Parallel backup pre-fetch — token + master playlist requests for all player types fire simultaneously, eliminating the sequential per-type delay that caused buffer drain during ad-blocking transitions
- Ad Spoofing toggle — opt-in anti-adblock fingerprinting from the popup
- Reduced ad-induced stalling — faster backup retries (5s cooldown), max-staleness guard (8s), and non-blocking initial backup search
- Fixed stream freeze/audio lag and 3–5s looping during ad transitions
- Fixed brief loading circle during silent backup hold from stale HLS segments
- Critical fix: worker context missing silent hold function causing ads to leak through
- Ad-completion spoofing to reduce anti-adblock fingerprinting (thanks @ryanbr)
- Capped silent backup hold at 2 minutes to prevent indefinite low-res playback
- Suppressed rapid backup type bouncing after player reload
See CHANGELOG.md for the complete list of changes.
git clone https://github.com/GosuDRM/TTV-AB.git
cd TTV-AB
npm install
npm run build # compiles TypeScript, minifies, and bundles
npm run package:chrome # creates Chrome Web Store upload archive
npm run lint # runs Biome linter
npm run knip # checks for unused exportsThe build outputs to dist/. Load the unpacked extension from dist/manifest.json in your browser's developer mode after building.
The source tree under src/ is organized by concern — modules/ for core ad-blocking logic (processor, parser, player, hooks, worker, state, API), scripts/ for the bridge and background service worker, and popup/ for the extension UI.
- Found a bug? Open an issue
- Want to contribute? Pull requests are welcome
- If TTV AB saves you from ads, consider supporting development:
TTV AB operates entirely on your device. No data is ever sent to external servers — not your browsing history, not your Twitch activity, not your ad-block statistics. All counters and settings are stored in your browser's local storage. See PRIVACY.md for the full privacy policy.
MIT License with Attribution — See LICENSE for details.