An elegant, secure, and lightweight browser extension for YouTube Music (music.youtube.com) that automatically skips tracks from blocked artists, songs, and albums, scrubs them from your "Up Next" queue, filters recommendation cards, and provides context-aware right-click entity blocking.
YouTube Music is great, but managing playback quality while coding or studying often means being forced to listen to artists, tracks, or albums you dislike. YTM Block solves this by integrating directly with YouTube Music's interface and underlying player.
With a single right-click or dashboard update, you can permanently block any artist, track, or album. YTM Block will ensure they are automatically skipped, hidden, and filtered with zero distraction, allowing you to stay focused on your work.
- 🖱️ Multi-Entity Right-Click Context Blocking: Block any Artist, Song, or Album by right-clicking elements directly on the YouTube Music page and selecting context options. Includes automatic Shadow DOM crawling.
- 🔔 Premium Capsule Toasts: Floating glass notifications with blur-filters and custom icons showing three distinct states: Successfully Blocked (with a one-click "Unblock" button inside the toast!), Already Blocked, and Detection Failure.
- ⚡ Prioritized Auto-Skipping: Programmatic skip engine respects blocklists in strict order of precedence (Blocked Songs -> Blocked Albums -> Blocked Artists) with sub-second response times and fuzzy-normalized song matching.
- 👁️ Queue Intelligence: Visually dims and crosses out blocked songs inside your "Up Next" panel, injects an absolute-positioned
"BLOCKED"capsule badge, and displays a counter badge in the header. - 🚫 Click Protection: Restricts clicks on blocked queue elements, preventing accidental selections.
- 🔍 Recommendation Filtering: Visual layout-safe suppression blurs blocked items on home grids, mixes, and shelves with a custom translucent overlay badge, preserving grid alignment.
- 🎨 Premium Glass Dashboard UI: Multi-list dashboard popup showing Blocked Songs, Blocked Albums, and Blocked Artists concurrently, with real-time search filtering, tag removal fade animations, and a Live Now Playing Card.
- 🔒 100% Local & Secure: No tracker scripts, no third-party libraries, and zero external network calls. Your blocklist syncs securely using Chrome's native storage profile bridge.
This project is built using:
- Vanilla JavaScript & CSS (utilizes custom inline styling to pierce Shadow DOM boundaries).
- Manifest V3 (Chrome, Edge) and Firefox MV3 compatibility (via separate manifests).
- Bash for standard build automation without heavy webpack/bundlers.
These instructions have been designed and tested for a clean local machine environment.
- Git
- A browser (Chrome, Edge, or Firefox)
-
Clone the repository:
git clone https://github.com/Labreo/ytm-block.git cd ytm-block -
Build the extension: Generate the clean, store-ready browser distributions:
chmod +x build.sh ./build.sh
This will create a
dist/directory containingchrome/,firefox/, andedge/builds, along with release zip archives. -
Load the extension manually into your browser:
- For Chrome: Navigate to
chrome://extensions/, toggle on "Developer mode" in the top right, click "Load unpacked", and select thedist/chrome/folder. - For Edge: Navigate to
edge://extensions/, toggle on "Developer mode", click "Load unpacked", and selectdist/edge/. - For Firefox: Navigate to
about:debugging#/runtime/this-firefox, click "Load Temporary Add-on", and select themanifest.jsoninside thedist/firefox/folder.
- For Chrome: Navigate to
Contributions, issues, and feature requests are highly encouraged!
We follow standard GitHub flow and require that all pull requests pass basic code style and lint check requirements. Before starting major work, please review our comprehensive CONTRIBUTING.md (create this file if not already present) for our full code style rules, PR expectations, and standard practices.
Have questions or want to discuss a major feature?
Reach out to me directly on Discord: .kakaroth
If this extension makes your daily workflow a little smoother, consider supporting the development!
Distributed under the MIT License. See LICENSE for more information.
Built by Kanak Waradkar
