Greasy Fork is available in English.
隱藏 YouTube 頻道、關鍵字過濾、時長/語言/直播/會員過濾,含快速操作按鈕、標籤分類、匯出入與分享功能。| Filter YouTube videos by channel, keyword, duration, language, live streams and members-only content. Full blocklist/whitelist management with quick action buttons on video cards.
Take back control of your YouTube feed — build a clean, focused, kid-friendly viewing environment.
👉 Install YouTube Channel Filter from Greasy Fork (requires the Tampermonkey or Violentmonkey browser extension)
YouTube's algorithm often surfaces content that's irrelevant, low-quality, or repetitive. YTcF hands control back to you — beyond classic channel and keyword filtering, it adds precise per-page-type filtering rules, automatic collaboration-video splitting, and a hard-block mode, suited to everything from distraction-free browsing to family/kids-safe setups.
@handle, channel name, or RegexSee the full user guide below for detailed usage.
Version: v1.4.7 · Tampermonkey / Violentmonkey userscript
The management panel contains the following tabs:
| Tab | Description |
|---|---|
| 🚫 Blocklist | Manage channels to hide |
| ⭐ Whitelist | Manage trusted channels (works with whitelist-only mode) |
| 🎬 Video Blocklist | Block specific video IDs |
| 🔤 Keywords | Filter videos by title / description |
| ⚙️ Settings | Global settings and filter conditions |
| 📊 Stats | View filtering statistics |
| 📋 History | View filtered video history |
| 💾 Import/Export | Backup and restore settings |
| 🎯 Filter Scope | Specify which pages each rule applies to (enable in Settings first) |
Add channels you don't want to see. Cards from those channels will be automatically hidden on the homepage, subscriptions feed, search results, and other listing pages.
How to add:
@handle (optional) in the panel form, then click AddTags: Each channel can have tags for easier categorization (e.g., "Ad accounts", "Farm channels").
Add channels you trust or want to protect. Whitelisted channels are never affected by any filter rule — they won't be caught by the blocklist, keywords, or any other filter.
Whitelist-only mode: Enable "Show only whitelisted channels" in ⚙️ Settings. Once enabled, all channels except those in the whitelist will be hidden. Ideal for parental controls or a minimal viewing experience.
Block specific video IDs without needing to block the entire channel. Common use cases: hiding specific controversial videos or blocking episodes you're not interested in.
Filter videos based on keywords found in their title or description. Keywords are managed in groups — each group can be individually enabled or disabled.
Creating a keyword group:
Group priority: Groups higher in the list take priority. Drag to reorder.
| Setting | Description |
|---|---|
| Show Toast notifications | Whether to show popup notifications after actions |
| Quick action style | Choose between "Quick Buttons" (hover bar) or "Three-dot menu" (integrated into YouTube's ⋮ menu) |
| Show only whitelisted channels | Whitelist-only mode |
| Video duration | Filter videos shorter or longer than a specified length (seconds) |
| Live / Upcoming | Hide live streams or upcoming premieres |
| Members-only videos | Hide members-only or members-first videos |
| View count | Filter by view count (below or above a threshold) |
| Upload date | Hide videos that are too old or too new |
| Language filter | Filter or show only specific languages |
| Channel posts | Hide channel community posts |
| Fundraiser | Hide videos marked as fundraisers |
| Force Block (direct URL access) | Block access to blocked channels/videos even when navigating directly by URL |
| Enable Filter Scope (Advanced) | Reveals the "🎯 Filter Scope" tab |
| PIN Lock | Set a password to protect the management panel |
Supports full backup and individual exports. Formats include CSV (blocklist, whitelist, keywords) and JSON (all settings, video blocklist).
Backup tip: Enable "Auto Backup" in Settings to automatically export your full settings to the download folder on a schedule.
Filter Scope lets you specify which YouTube page types each filter rule applies to. It's designed for users who need fine-grained control.
The interface shows an 11 rules × 7 pages matrix:
Page types:
| Type | Description |
|---|---|
| 🏠 Home | YouTube homepage |
| 📨 Subscriptions | Subscriptions feed |
| 🔍 Search | Search results page |
| 🎬 Watch page | Recommendations sidebar while watching a video |
| 📺 Channel page | When visiting a specific channel |
| 🔥 Trending | Trending videos page |
| 📄 Other | Any other page |
Rule types: Channel Blocklist, Video Blocklist, Keywords, Members-only, Live/Upcoming, Fundraiser, Upload Date, View Count, Language, Duration, Channel Posts.
Example 1 — Allow seeing blocked channels on their own channel page
Uncheck "Channel Blocklist" × "Channel page" → When visiting a blocked channel's page, their videos are still visible; but they remain hidden on the homepage and other listing pages
Example 2 — Apply keyword filter only on the homepage
For the "Keywords" rule, keep only "Home" checked, uncheck all other pages → Keyword filters won't interfere when you're specifically searching for something
Example 3 — Don't filter live streams on the subscriptions feed
Uncheck "Live / Upcoming" × "Subscriptions" → Live streams from subscribed channels will appear in your subscriptions feed, but not on the homepage
Keyword groups support JavaScript Regular Expressions, giving you more flexible pattern matching for video titles and descriptions.
When adding a keyword inside a group, check the "Regex" checkbox to enable regex mode for that keyword.
/ slashes or add flags like /i\) can be entered directly — no extra escaping needed| Pattern | Description |
|---|---|
| `(ad\ | sponsored\ |
| `(stock\ | invest\ |
EP\.?\d+ |
Episode number formats: EP1, EP.1, EP 1, etc. |
^(?!.*official).*$ |
Title does not contain "official" (negative lookahead) |
\d{4} |
Title contains a 4-digit number (e.g., a year) |
| `(LIVE\ | STREAM\ |
(a|b|c) patterns over complex lookaheadsBy combining multiple features, you can create a "whitelist-only + automatic dangerous content filtering" child-friendly browsing environment.
⚠️ Important Disclaimer: This script only filters video cards on listing pages (homepage, search, recommendations). It cannot block direct URL navigation to a video, and it cannot analyze the actual content of videos. Strongly recommended to use alongside YouTube Kids, parental control software (e.g., Google Family Link), or router-level DNS filtering.
Step 1 — Build a whitelist Go to the ⭐ Whitelist tab and add every channel your child is allowed to watch. For example: @PBSKids, @SesameStreet, @CocomelonOfficial
Step 2 — Enable whitelist-only mode Go to ⚙️ Settings and turn on "⭐ Show only whitelisted channels". After enabling, all channels except those in the whitelist will be hidden.
Step 3 — Block live streams In Settings, under "📡 Live / Upcoming", enable both:
Live chat in streams is a common risk vector — block them entirely.
Step 4 — Create a dangerous content keyword group Go to 🔤 Keywords, create a group named "Dangerous Content", and set scope to "Title":
Add keywords such as:
violence, blood, horror, adult, gambling, weapons, drugs
For more efficiency, enable Regex mode and enter:
(violence|gore|horror|adult|gambling|18\+|explicit)
Step 5 (Recommended) — Restrict video age In Settings, enable "📅 Upload Date" and set it to hide videos uploaded more than 30 days ago. This helps prevent the algorithm from surfacing old controversial content.
Step 6 (Recommended) — Language filter In Settings, enable "🌐 Language Filter", choose "Show only selected languages", and check only your child's native language. This effectively filters out most foreign-language content.
Step 7 (Recommended) — Set a PIN lock In Settings, set up a "PIN Lock" to prevent your child from changing the filter settings.
After enabling Filter Scope (Advanced), you can fine-tune kids mode further:
| Action | Description |
|---|---|
| Left-click 🔍 in top bar | Open management panel |
| Right-click 🔍 in top bar | Toggle filter on / off |
| Hover over a video card | Quick action bar slides up from the bottom (Button mode) |
| Click a video's ⋮ menu | YTcF options appear (Three-dot menu mode) |
| Tampermonkey extension menu | Provides "Open Panel" and "Toggle Filter" options |
Two quick action modes (switchable in Settings):
Enable PIN Lock in the ⚙️ Settings panel under "PIN Lock":
If you run into flickering, filters not working, or delayed card updates:
ytcf-diag-xxx.log)@handle and channel nameThis project is licensed under the MIT License. Author: MayoHu · GitHub: YouTube-Gatekeeper
Thanks to the following contributors for long-term testing, bug reports, and suggestions:
Core Reporters
Community Reporters (Greasy Fork & GitHub, in order reported)
CherryBlossom_TW · NightOwlGamer · 台灣小確幸 · PixelWalker88 · SakuraNeko · MapleDrift · CoralSeeker · ZephyrTides · LanternFish99 · QuietMountain · TealDragonfly · GlassHarmonics · SilverFernLeaf · NoodleArchitect · CrimsonTideTV · WanderlustFreq · TeaLeafReader · MossyPebble42 · StarlightCoast · VinylWhisper
☕ If this script has been useful to you, consider supporting development via Liberapay.