Enhancements for YouTube: themes, downloads, dislikes, bookmarks, continue watching, wave visualizer, and more.
This repository ships two ways to use the same tools:
| Browser extension | Tampermonkey userscript | |
|---|---|---|
| Where | Chrome · Edge · Firefox | Tampermonkey / Greasy Fork |
| UI | Popup (settings) | Gear menu on YouTube |
| Version | Extension package | Script v2.5 |
| Install | Load unpacked build | Install .user.js |
| Publish | Store / self-host | Greasy Fork |
Features are shared (same engine). Prefer the extension for a modern popup and sync via browser storage; prefer the userscript if you already use Tampermonkey.
Click to expand / collapse
- Continue watching (history)
- Bookmarks (timestamps)
- Like vs Dislike bar
- Shorts: show channel name
- Download fallbacks (extra providers)
- Download again button
- Download audio: Flac, WAV, WebM, MP3, M4A, AAC, OPUS, OGG
- Download MP4 / MP3 up to 8K
- Default video player quality
- Copy video description
- Playback stats
- Hide comments / hide sidebar
- Cinematic mode + sync with YouTube ambient mode
- Disable autoplay / subtitles
- Wave visualizer effects
- Download avatars (including comments)
- Change video player size
- Custom themes + country presets
- Background image / colors
- Skip ads (where supported)
- Picture-in-Picture
- Loop / repeat video
- Dislikes on videos and Shorts
- Rate video with stars
- Customize text / icon colors
- Download thumbnail
- Video screenshot
- Translate comments (videos & Shorts)
- Screen filter / mirror mode
- Adapt background to video
- Reset settings
- Import / export config (
.developermdcm) - Multi-language popup (extension)
If MP3/MP4 download fails in the browser, install and enable this Chrome/Brave helper extension:
https://chrome.google.com/webstore/detail/lfhmikememgdcahcdlaciloancbhjino
Youtube-tools-extension/
├── extension/ ← Browser extension (React popup + content script)
│ ├── src/popup/ ← Settings UI
│ ├── src/content/ ← Runs on YouTube (bundles userscript engine)
│ ├── scripts/ ← Build (Chrome / Edge / Firefox)
│ └── dist/ ← Output after build (load unpacked)
├── tampermonkey/ ← Userscript sources + build
│ ├── src/ ← Modular script (edit here)
│ ├── build.mjs
│ └── youtube-tools.user.js ← Generated file to install
├── images/ ← Screenshots for this README
├── package.json
└── README.md
- Node.js ≥ 18
- npm
npm installnpm run build:extensionOutputs:
| Browser | Load this folder |
|---|---|
| Chrome | extension/dist/chrome |
| Edge | extension/dist/edge |
| Firefox | extension/dist/firefox (or its manifest.json) |
npm run build is an alias for build:extension.
Dev popup preview (UI only):
npm run devnpm run build:userscriptOutput: tampermonkey/youtube-tools.user.js
Edit modules under tampermonkey/src/, then rebuild. Do not hand-edit the generated .user.js.
More detail: tampermonkey/README.md
- Run
npm installandnpm run build:extension. - Open
chrome://extensions/(or Edge / Firefox equivalents). - Enable Developer mode.
- Load unpacked → select
extension/dist/chrome(oredge/firefox). - Open YouTube and use the extension popup to change settings.
From Greasy Fork (users):
From this repo (developers):
- Run
npm run build:userscript. - In Tampermonkey → Create a new script / Install from file.
- Use
tampermonkey/youtube-tools.user.js. - Open YouTube → use the gear icon in the top bar to open settings.
| Command | Description |
|---|---|
npm run build:extension |
Build Chrome / Edge / Firefox packages |
npm run build:userscript |
Build Tampermonkey .user.js |
npm run build |
Same as build:extension |
npm run dev |
Preview extension popup (Vite) |
npm run preview |
Preview production popup build |




