Skip to content

Instantly share code, notes, and snippets.

@tadwohlrapp
Last active June 6, 2026 06:14
Show Gist options
  • Select an option

  • Save tadwohlrapp/722bbe97cb20bb34da8df73675415cae to your computer and use it in GitHub Desktop.

Select an option

Save tadwohlrapp/722bbe97cb20bb34da8df73675415cae to your computer and use it in GitHub Desktop.
Filters for uBlock Origin I use to block annoying elements on YouTube
! ============================
! YouTube Top Nav Bar
! ============================
! always show normal YouTube logo, never that distracting doodleyoodle
www.youtube.com##ytd-topbar-logo-renderer > a > ytd-yoodle-renderer
www.youtube.com##ytd-topbar-logo-renderer > a > div:remove-attr(hidden)
! hide "Search with your voice" button (YouTube users have no voice)
www.youtube.com###masthead #center #voice-search-button
! hide "+Create" button
www.youtube.com###masthead #end #buttons > ytd-button-renderer
! rather experimental: fix weird height issue with top navigation bar after page-navigation + remove annoying frosted glass background effect
www.youtube.com#$##frosted-glass.with-chipbar.ytd-app {background: var(--yt-spec-base-background)!important;height: var(--ytd-toolbar-height)!important;}
www.youtube.com#$#ytd-feed-filter-chip-bar-renderer[frosted-glass-mode=with-chipbar] #chips-wrapper.ytd-feed-filter-chip-bar-renderer, ytd-masthead[frosted-glass-mode=without-chipbar] #background.ytd-masthead {background: var(--yt-spec-base-background)!important;}
! ============================
! YouTube Left Main Menu
! ============================
! hide "Shorts" menu item
www.youtube.com##ytd-guide-renderer ytd-guide-entry-renderer:has(a[title="Shorts"]), ytd-mini-guide-entry-renderer[aria-label="Shorts"]
! hide "Explore" menu section
www.youtube.com##ytd-guide-section-renderer:has(#guide-section-title:has-text(/Explore/))
! hide "More from YouTube" menu section
www.youtube.com##ytd-guide-section-renderer:has(#guide-section-title:has-text(/More from YouTube/))
! ============================
! YouTube Home Page
! ============================
! hide disruptive sections like "Shorts" or "Top News" on Home Page
www.youtube.com##[page-subtype="home"] ytd-rich-section-renderer:has(#dismissible)
! hide "How is this recommendation?" tooltip below videos on Home Page
www.youtube.com##[page-subtype="home"] ytd-rich-item-renderer #attached-survey
! hide videos I already watched in full (>=70%) on Home Page
www.youtube.com##[page-subtype="home"] ytd-rich-item-renderer:has(:is(#progress, yt-lockup-view-model .ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment):matches-attr(style="/width: ([789][0-9]|100)%/"))
! hide old videos (1 year and older) on Home Page
www.youtube.com##[page-subtype="home"] ytd-rich-item-renderer:has(:is(.inline-metadata-item.ytd-video-meta-block, yt-lockup-view-model yt-content-metadata-view-model span):has-text(/ years? ago$/))
! hide videos with less than 2000 views on Home Page
www.youtube.com##[page-subtype="home"] ytd-rich-item-renderer:has(:is(.inline-metadata-item.ytd-video-meta-block, yt-lockup-view-model yt-content-metadata-view-model span):has-text(/^(\d{1,3} |No |1(\.\d)?K )views?$/))
! hide mixes on Home Page
www.youtube.com##[page-subtype="home"] ytd-rich-item-renderer:has(yt-collections-stack:has-text(/[\w\W]{1}/))
! hide ALL live streams on Home Page
# www.youtube.com##[page-subtype="home"] ytd-rich-item-renderer:has(:is(.badge[aria-label="LIVE"], .badge-shape-wiz--thumbnail-live))
! hide small live streams (under 100 watching) on Home Page
www.youtube.com##[page-subtype="home"] ytd-rich-item-renderer:has(:is(.inline-metadata-item.ytd-video-meta-block, yt-lockup-view-model yt-content-metadata-view-model span):has-text(/^\d{1,2} watching?$/))
! hide all recorded live streams turned into videos ("Streamed 8 hours ago" etc.) on Home Page
www.youtube.com##[page-subtype="home"] ytd-rich-item-renderer:has(:is(.inline-metadata-item.ytd-video-meta-block, yt-lockup-view-model yt-content-metadata-view-model span):has-text(/^Streamed/))
! hide garbage videos (less than 80% like ratio) on Home Page
! (used in conjunction with with https://github.com/elliotwaite/thumbnail-rating-bar-for-youtube)
www.youtube.com##[page-subtype="home"] ytd-rich-item-renderer:has(.ytrb-percentage:has-text(/^(?:[0-9]|[1-7][0-9])(\.[0-9]{1,2})?%$/))
! hide super short videos (shorter than 1 minute) on Home Page
# www.youtube.com##[page-subtype="home"] ytd-rich-item-renderer:has(ytd-thumbnail-overlay-time-status-renderer:has-text(/^0:/))
! hide super long videos (1 hour and longer) on Home Page
# www.youtube.com##[page-subtype="home"] ytd-rich-item-renderer:has(ytd-thumbnail-overlay-time-status-renderer:has-text(/^\d+:\d\d:/))
! hide "Members only" videos on Home Page
www.youtube.com##[page-subtype="home"] ytd-rich-item-renderer:has(.badge-style-type-members-only)
! hide "Premium" videos on Home Page
www.youtube.com##[page-subtype="home"] ytd-rich-item-renderer:has(.badge[aria-label="Premium"])
! hide "Pay to watch" videos on Home Page
www.youtube.com##[page-subtype="home"] ytd-rich-item-renderer:has(.badge[aria-label="Pay to watch"])
! hide "Upcoming" videos on Home Page
www.youtube.com##[page-subtype="home"] ytd-rich-item-renderer:has(ytd-thumbnail-overlay-time-status-renderer[overlay-style="UPCOMING"])
! hide big yoodle banner on Home Page
www.youtube.com##[page-subtype="home"] #big-yoodle
! hide "how did you like this video" survey crap on Home Page
www.youtube.com##[page-subtype="home"] ytd-rich-section-renderer:has(ytd-inline-survey-renderer)
! remove badges like "Fundraiser" from videos on Home Page
! (using :remove() here because of clashes with thumbnail-rating-bar)
www.youtube.com##[page-subtype="home"] yt-lockup-view-model yt-content-metadata-view-model > div:nth-child(3):remove()
! set responsive grid layout on Home Page and fix item margins
www.youtube.com##[page-subtype="home"] ytd-rich-grid-renderer.ytd-two-column-browse-results-renderer:matches-media((max-width: 1500px)):style(--ytd-rich-grid-items-per-row: 3 !important;)
www.youtube.com##[page-subtype="home"] ytd-rich-grid-renderer.ytd-two-column-browse-results-renderer:matches-media((min-width: 1500px) and (max-width: 2000px)):style(--ytd-rich-grid-items-per-row: 4 !important;)
www.youtube.com##[page-subtype="home"] ytd-rich-grid-renderer.ytd-two-column-browse-results-renderer:matches-media((min-width: 2000px) and (max-width: 2500px)):style(--ytd-rich-grid-items-per-row: 5 !important;)
www.youtube.com##[page-subtype="home"] ytd-rich-grid-renderer.ytd-two-column-browse-results-renderer:matches-media((min-width: 2500px)):style(--ytd-rich-grid-items-per-row: 6 !important;)
www.youtube.com##[page-subtype="home"] ytd-rich-grid-renderer > #contents > ytd-rich-item-renderer[rendered-from-rich-grid]:remove-attr(is-in-first-column)
! ============================
! YouTube Subscriptions Page
! ============================
! hide disruptive sections like "Shorts" on Subscriptions Page
www.youtube.com##[page-subtype="subscriptions"] ytd-rich-section-renderer:has(#dismissible)
! hide upcoming videos on Subscriptions Page
www.youtube.com##[page-subtype="subscriptions"] ytd-rich-item-renderer:has(ytd-thumbnail-overlay-time-status-renderer[overlay-style="UPCOMING"])
! hide "Members only" videos on Subscriptions Page
www.youtube.com##[page-subtype="subscriptions"] ytd-rich-item-renderer:has(.badge-style-type-members-only)
! hide "Premium" videos on Subscriptions Page
www.youtube.com##[page-subtype="subscriptions"] ytd-rich-item-renderer:has(.badge[aria-label="Premium"])
! hide videos I already watched in full (>=70%) on Subscriptions Page
www.youtube.com##[page-subtype="subscriptions"] ytd-rich-item-renderer:has(:is(#progress, .ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment):matches-attr(style="/width: ([789][0-9]|100)%/"))
! hide all recorded live streams turned into videos ("Streamed 8 hours ago" etc.) on Subscriptions Page
www.youtube.com##[page-subtype="subscriptions"] ytd-rich-item-renderer:has(:is(.inline-metadata-item.ytd-video-meta-block, yt-lockup-view-model yt-content-metadata-view-model span):has-text(/^Streamed/))
! remove badges like "Fundraiser" from videos on Subscriptions Page
! (using :remove() here because of clashes with thumbnail-rating-bar)
www.youtube.com##[page-subtype="subscriptions"] yt-lockup-view-model yt-content-metadata-view-model > div:nth-child(3):remove()
! set responsive grid layout on Subscriptions Page and fix item margins
www.youtube.com##[page-subtype="subscriptions"] ytd-rich-grid-renderer.ytd-two-column-browse-results-renderer:matches-media((max-width: 1500px)):style(--ytd-rich-grid-items-per-row: 3 !important;)
www.youtube.com##[page-subtype="subscriptions"] ytd-rich-grid-renderer.ytd-two-column-browse-results-renderer:matches-media((min-width: 1500px) and (max-width: 2000px)):style(--ytd-rich-grid-items-per-row: 4 !important;)
www.youtube.com##[page-subtype="subscriptions"] ytd-rich-grid-renderer.ytd-two-column-browse-results-renderer:matches-media((min-width: 2000px) and (max-width: 2500px)):style(--ytd-rich-grid-items-per-row: 5 !important;)
www.youtube.com##[page-subtype="subscriptions"] ytd-rich-grid-renderer.ytd-two-column-browse-results-renderer:matches-media((min-width: 2500px)):style(--ytd-rich-grid-items-per-row: 6 !important;)
www.youtube.com##[page-subtype="subscriptions"] ytd-rich-grid-renderer > #contents > ytd-rich-item-renderer[rendered-from-rich-grid]:remove-attr(is-in-first-column)
! ============================
! YouTube Search Results
! ============================
! hide garbage videos (less than 80% like ratio) in Search Results
! (used in conjunction with with https://github.com/elliotwaite/thumbnail-rating-bar-for-youtube)
www.youtube.com##ytd-search ytd-video-renderer:has(.ytrb-percentage:has-text(/^(?:[0-9]|[1-7][0-9])(\.[0-9]{1,2})?%$/))
! hide shorts (disguised as regular videos) in Search Results
www.youtube.com##ytd-search ytd-video-renderer:has(badge-shape[aria-label="Shorts"])
! hide shorts shelf in Search Results
www.youtube.com##ytd-search ytd-reel-shelf-renderer
www.youtube.com##ytd-search grid-shelf-view-model:has(.shortsLockupViewModelHost)
! hide fluff ("People also watched", "For you", "Previously watched" etc.) in Search Results
www.youtube.com##ytd-search ytd-shelf-renderer[thumbnail-style]
www.youtube.com##ytd-search #contents > ytd-horizontal-card-list-renderer
! hide videos I already watched in full (>=70%) in Search Results
www.youtube.com##ytd-search ytd-video-renderer:has(:is(#progress, .ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment):matches-attr(style="/width: ([789][0-9]|100)%/"))
! hide movies you can rent or "buy" in Search Results
www.youtube.com##ytd-search ytd-movie-renderer
! hide right sidebar with ads for streaming services in Search Results
www.youtube.com##ytd-search ytd-secondary-search-container-renderer:has(ytd-universal-watch-card-renderer)
! ============================
! YouTube Channel Page
! ============================
! Channel Page: Header & Tabs Menu
! hide big top banner on channel header
www.youtube.com##[page-subtype="channels"] #page-header-banner
! hide links ("example.com and 3 more links") on channel header
www.youtube.com##[page-subtype="channels"] yt-attribution-view-model
! hide "Join" button on channel header
www.youtube.com##[page-subtype="channels"] yt-flexible-actions-view-model .yt-flexible-actions-view-model-wiz__action:has(button-view-model:has-text(/^Join/))
! hide "Subscribe +" button on channel header
www.youtube.com##[page-subtype="channels"] yt-flexible-actions-view-model .yt-flexible-actions-view-model-wiz__action:has(yt-subscribe-plus-button-view-model)
www.youtube.com##[page-subtype="channels"] yt-flexible-actions-view-model .ytFlexibleActionsViewModelAction:has(>yt-subscribe-plus-button-view-model)
! fix existing "Subscribed" button (restore deleted button text)
www.youtube.com##[page-subtype="channels"] yt-flexible-actions-view-model yt-subscribe-button-view-model.yt-subscribe-button-view-model-wiz:style(width:auto !important;)
www.youtube.com##[page-subtype="channels"] yt-flexible-actions-view-model button.yt-spec-button-shape-next--icon-leading-trailing-no-text .yt-spec-button-shape-next__secondary-icon::before:style(display: block; content: "Subscribed"; margin-right: 6px;)
www.youtube.com##[page-subtype="channels"] yt-flexible-actions-view-model button.yt-spec-button-shape-next--icon-leading-trailing-no-text .yt-spec-button-shape-next__secondary-icon:style(display: flex; align-items: center; width: inherit;)
! hide "Shorts" tab in tab-menu on channel page
# www.youtube.com##[page-subtype="channels"] yt-tab-group-shape yt-tab-shape[tab-title="Shorts"]
! hide "Live" tab in tab-menu on channel page
# www.youtube.com##[page-subtype="channels"] yt-tab-group-shape yt-tab-shape[tab-title="Live"]
! hide "Posts" tab in tab-menu on channel page
# www.youtube.com##[page-subtype="channels"] yt-tab-group-shape yt-tab-shape[tab-title="Posts"]
! hide "Store" tab in tab-menu on channel page
# www.youtube.com##[page-subtype="channels"] yt-tab-group-shape yt-tab-shape[tab-title="Store"]
! quick CSS fix for that little bar below the tab-menu when some tabs are hidden
# www.youtube.com##[page-subtype="channels"] yt-tab-group-shape .yt-tab-group-shape-wiz__slider
# www.youtube.com##[page-subtype="channels"] yt-tab-group-shape .yt-tab-shape-wiz__tab-bar--tab-bar-selected:style(height: 2px !important;background-color: var(--yt-spec-text-primary) !important;)
! Channel Page: Page Content
! hide "Shorts" section on channel home page
www.youtube.com##[page-subtype="channels"] ytd-section-list-renderer > #contents > ytd-item-section-renderer:has(ytd-reel-shelf-renderer)
! hide "Our Members" section on channel home page
www.youtube.com##[page-subtype="channels"] ytd-section-list-renderer > #contents > ytd-item-section-renderer:has(ytd-recognition-shelf-renderer)
! hide "For You" section on channel home page
# www.youtube.com##[page-subtype="channels"] ytd-section-list-renderer > #contents > ytd-item-section-renderer:has(h2:has-text(/For You/))
! hide videos I already watched in full (>=70%) on channel home page
www.youtube.com##[page-subtype="channels"] ytd-grid-video-renderer:has(:is(#progress, .ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment):matches-attr(style="/width: ([789][0-9]|100)%/"))
! hide videos I already watched in full (>=70%) on channel videos page
www.youtube.com##[page-subtype="channels"] ytd-rich-item-renderer:has(:is(#progress, .ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment):matches-attr(style="/width: ([789][0-9]|100)%/"))
! hide "Premium" videos on channel videos page
www.youtube.com##[page-subtype="channels"] ytd-rich-item-renderer:has(.badge[aria-label="Premium"])
! hide "Members only" videos on channel videos page
www.youtube.com##[page-subtype="channels"] ytd-rich-item-renderer:has(.badge-style-type-members-only)
! ============================
! YouTube Video Page
! ============================
! Video Page: Video Player
! reenable the possibility to scroll down the page when the player is in fullscreen
! Source: https://www.reddit.com/r/uBlockOrigin/comments/1n13if0/youtube_with_player_in_fullscreen_unable_to/
www.youtube.com##[deprecate-fullerscreen-ui]:remove-attr(deprecate-fullerscreen-ui)
! hide "1080p Premium HD" (which is nothing more than an ad for premium) in video quality settings menu
www.youtube.com##.ytp-quality-menu .ytp-menuitem:has(.ytp-premium-label)
! hide video overlay on endcards
www.youtube.com##ytd-player .ytp-ce-element.ytp-ce-element-show.ytp-ce-video
! hide playlist overlay on endcards
www.youtube.com##ytd-player .ytp-ce-element.ytp-ce-element-show.ytp-ce-playlist
! hide website overlay on endcards
www.youtube.com##ytd-player .ytp-ce-element.ytp-ce-element-show.ytp-ce-website
! hide channel overlay on endcards
www.youtube.com##ytd-player .ytp-ce-element.ytp-ce-element-show.ytp-ce-channel
! automatically click on "I understand and wish to proceed" button on "The following content may contain ..." warnings
! trusted-click-element will ONLY work within "trusted" filters (https://github.com/gorhill/ublock/wiki/Advanced-settings#trustedlistprefixes)!
www.youtube.com##+js(trusted-click-element, div[id^="player-container"] + #error-screen #info:has(#reason) button[aria-label*="proceed"])
! Video Page: Title and Description
! prevent stats (such as likes and views) from live-updating
! example: https://www.reddit.com/r/youtube/comments/15c7ndi/youtube_has_added_live_updating_view_counts/
||youtube.com/youtubei/v1/updated_metadata
! hide "smartimation" animations
! example: https://www.reddit.com/r/youtube/comments/15ri8fp/the_subscribe_button_now_plays_an_animation_when/
www.youtube.com##yt-smartimation > :not(.smartimation__content, .ytSmartImationsContent)
www.youtube.com##yt-animated-action > :not(.animated-action__content-with-background, .ytAnimatedActionContentWithBackground)
www.youtube.com##:is(.smartimation__content, .ytSmartImationsContent, .animated-action__content-with-background, .ytAnimatedActionContentWithBackground) > :has(> lottie-component)
! disable live reaction overlays
! example: https://www.reddit.com/r/youtube/comments/13886xr/how_can_i_disable_the_new_live_emoji_reactions/
www.youtube.com##yt-reaction-control-panel-view-model, yt-reaction-control-panel-overlay-view-model
! hide "Purchase" button below video
www.youtube.com##ytd-video-owner-renderer > #purchase-button
! hide "Join" button below video
www.youtube.com##ytd-video-owner-renderer > #sponsor-button
! fix existing "Subscribed" button (restore deleted button text)
www.youtube.com#$#ytd-subscribe-button-renderer[subscribe-button-invisible][style^="width"],ytd-subscribe-button-renderer[subscribe-button-invisible] yt-subscribe-button-view-model[style^="width"] { width: auto!important; }
www.youtube.com#$#ytd-subscribe-button-renderer[subscribe-button-invisible] button.yt-spec-button-shape-next--icon-leading-trailing-no-text .yt-spec-button-shape-next__secondary-icon::before {display: block; content: "Subscribed"; margin-right: 6px;}
www.youtube.com#$#ytd-subscribe-button-renderer[subscribe-button-invisible] button.yt-spec-button-shape-next--icon-leading-trailing-no-text .yt-spec-button-shape-next__secondary-icon {display: flex; align-items: center; width: inherit;}
! hide "Download" button (just an ad for premium) below video
www.youtube.com###below ytd-download-button-renderer
www.youtube.com##ytd-menu-popup-renderer ytd-menu-service-item-download-renderer
! hide "Thanks" button below video
www.youtube.com###below yt-button-view-model:has(button[aria-label="Thanks"])
www.youtube.com##ytd-menu-popup-renderer ytd-menu-service-item-renderer:has(yt-formatted-string:has-text(/^Thanks/))
! hide "Clip" button below video
www.youtube.com###below yt-button-view-model:has(button[aria-label="Clip"])
www.youtube.com##ytd-menu-popup-renderer ytd-menu-service-item-renderer:has(yt-formatted-string:has-text(/^Clip/))
! hide fundraiser badge below video title
www.youtube.com###below ytd-badge-supported-renderer
! hide that light blue "Clarify box" below video player, above video title
www.youtube.com###below > #clarify-box
! hide that "... is a public broadcast service" box between video and description
www.youtube.com###below #middle-row:has(ytd-info-panel-content-renderer)
! hide merch shelf in description
www.youtube.com###below ytd-structured-description-content-renderer #merch-shelf
! hide "Chapters" in description
www.youtube.com###below ytd-structured-description-content-renderer #items ytd-horizontal-card-list-renderer[modern-chapters]
! hide "Shorts remixing this video" in description
www.youtube.com###below ytd-structured-description-content-renderer #items ytd-reel-shelf-renderer
! hide "Music" in description
www.youtube.com###below ytd-structured-description-content-renderer #items ytd-horizontal-card-list-renderer[has-video-attribute-view-models]
! hide "Transcription" in description
www.youtube.com###below ytd-structured-description-content-renderer #items ytd-video-description-transcript-section-renderer
! hide that creator infobox with links at the end of the description box
www.youtube.com###below ytd-structured-description-content-renderer #items ytd-video-description-infocards-section-renderer
! hide "Live Chat Replay" box which sometimes appears next to the description
www.youtube.com###below #teaser-carousel
! hide merch shelf below description
www.youtube.com###below ytd-merch-shelf-renderer
! hide shitty AI summary nobody ever asked for below description
www.youtube.com###below [has-video-summary]
! hide all "Age-restricted video" notices below description, above comment section (https://support.google.com/youtube/answer/2802167)
www.youtube.com##ytd-metadata-row-container-renderer > #always-shown > ytd-metadata-row-renderer:has(a[href*="community_guidelines"],a[href*="age_restrictions"])
! hide all "Rating" notices below video description, above comment section (https://support.google.com/youtube/answer/146397)
www.youtube.com##ytd-metadata-row-container-renderer > #always-shown > ytd-metadata-row-renderer:has(a[href*="answer/146397"])
! hide that fucking "Experiencing interruptions?" toast message because of AdBlock
www.youtube.com##tp-yt-paper-toast#toast:has(yt-button-renderer#action-button a[href*=blocker])
! Video Page: Sidebar / Related videos
! hide donation box for fundraiser videos
www.youtube.com###secondary #donation-shelf
! hide Shorts in video sidebar
www.youtube.com###columns #secondary ytd-compact-video-renderer:has(a[href^="/shorts/"])
! hide that weird channel card which sometimes appears somewhere in video sidebar
www.youtube.com###columns #secondary ytd-channel-renderer
! hide garbage videos (less than 80% like ratio) in video sidebar
! (used in conjunction with with https://github.com/elliotwaite/thumbnail-rating-bar-for-youtube)
www.youtube.com##ytd-watch-flexy yt-lockup-view-model:has(.ytrb-percentage:has-text(/^(?:[0-9]|[1-7][0-9])(\.[0-9]{1,2})?%$/))
! hide "Members first" videos in video sidebar
www.youtube.com##ytd-watch-flexy yt-lockup-view-model:has(.badge-shape-wiz--commerce)
! hide old videos (1 year and older) in video sidebar
www.youtube.com##ytd-watch-flexy yt-lockup-view-model:has(yt-content-metadata-view-model span:has-text(/^\d+ years? ago$/))
! hide super short videos (shorter than 1 minute) in video sidebar
www.youtube.com##ytd-watch-flexy yt-lockup-view-model:has(yt-thumbnail-overlay-badge-view-model:has-text(/^0:/))
! hide super long videos (1 hour and longer) in video sidebar
www.youtube.com##ytd-watch-flexy yt-lockup-view-model:has(yt-thumbnail-overlay-badge-view-model:has-text(/^\d+:\d\d:/))
! hide live streams in video sidebar
www.youtube.com##ytd-watch-flexy yt-lockup-view-model:has(.badge-shape-wiz--thumbnail-live)
! hide videos I already watched in full (>=70%) in video sidebar
www.youtube.com##ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment:matches-attr(style="/width: ([789][0-9]|100)%/"))
! hide playlists in video sidebar
www.youtube.com##ytd-watch-flexy yt-lockup-view-model:has(yt-content-metadata-view-model:has-text(/^Playlist/))
! hide videos with less than 2000 views in video sidebar
www.youtube.com##ytd-watch-flexy yt-lockup-view-model:has(yt-content-metadata-view-model span:has-text(/^(\d{1,3} |No |1(\.\d)?K )views?$/))
! remove badges like "Fundraiser" from videos in video sidebar
! (using :remove() here because of clashes with thumbnail-rating-bar)
www.youtube.com##ytd-watch-flexy yt-lockup-view-model yt-content-metadata-view-model > div:nth-child(3):remove()
@dftf-stu

Copy link
Copy Markdown

Is there any reliable way to disable the delay before videos, and the "experiencing interruptions" pop-up?

For the delay, I've found this recommended, but not sure it works?
youtube.com##+js(set-constant, yt.config_.EXPERIENCE_INTERRUPTIONS_MODE, false)

And for the "experiencing interruptions" pop-up in the bottom-left area, the rule in the list above doesn't always work:
www.youtube.com##tp-yt-paper-toast#toast:has(yt-button-renderer#action-button a[href*=blocker])

Does it matter for rules in uBO if the domain part begins www.youtube.com or just youtube.com?
I'd assume youtube.com implies *.youtube.com , meaning apply to all sub-domains -- or does uBO not follow that convention?

Also, separately: does anyone also know if there's a way to hide the "3.0" speed in the video > ⚙ > "Playback speed" menu?
It's another thing that is only there to advertise YouTube Premium, as it cannot be used otherwise.

Thanks

@idontlikecreatingaccounts

Copy link
Copy Markdown

Is there any reliable way to disable the delay before videos

No. This behavior is part of Google's attempts to prevent the use of adblockers. Even when temporary fixes are found, they only work for while or for a certain subset of users, because Google does heavy A/B testing and is intentionally introducing this delay. As far as I know, Chromium-based browsers tend to have fewer delays than Firefox-based ones. And uBO is still the best blocker.

In my own experience, I get the delays on Librewolf/Linux no matter what I do. I don't get them on Brave/Windows. Despite identical settings and extensions.

As for the uBO behavior, yes. "youtube.com" includes subdomains. uBO doesn't support the * wildcard.

@Styphoryte

Copy link
Copy Markdown

Hey guys figured some of you might wanna fix your huge Thumbnails in the Related videos section if you already haven't check here for the ublock filter to fix it: https://www.reddit.com/r/youtube/comments/1sak884/thumbnails_for_videos_on_the_sidebar_are_enlarged/

@MaxistheSpy

Copy link
Copy Markdown

any way to disable the scrolling down in fullscreen thing where the suggested videos popup

@idontlikecreatingaccounts

Copy link
Copy Markdown

any way to disable the scrolling down in fullscreen thing where the suggested videos popup

If you hide the "End screen feed", those recommendations disappear too. I've never scrolled down before, but I tried it and all I get is a black transparent overlay where recommendations apparently should be. Toggling this seems to do it:

youtube.com##.ytp-fullscreen-grid-stills-container

If you really want to hide the black overlay so you can scroll down total emptiness, then there is this mess:

www.youtube.com##.ytp-grid-scrolling.ytp-fullscreen-grid-active.ytp-full-bleed-player.ytp-fullscreen.ytp-disable-bottom-gradient

But it seems to break the player if you scroll down too far, and the more I tried to clean it up the sooner it broke. So just don't scroll. There's nothing there anyway.

@Styphoryte

Styphoryte commented Jun 6, 2026

Copy link
Copy Markdown

Edit - 6/6/26 - Updated filters, weren't working in home feed anymore. :c

New Filters (Should be working):

!YouTube Playables Home Feed HIDE THE BS
www.youtube.com##ytd-rich-section-renderer:has(a[href^="/playables/"])

Old Filters (Ignore now): Hide "Enhanced Bitrate" quality option at the top within the settings gear icon sub-menu:

youtube.com##.ytp-quality-menu.ytp-panel > .ytp-panel-menu > div.ytp-menuitem:has-text(/Enhanced bitrate/i)

Hide Youtube Playables from the Youtube Home feed:

youtube.com##ytd-rich-section-renderer.ytd-rich-grid-renderer.style-scope:nth-of-type(1):has-text(/Playables/i)
youtube.com##ytd-rich-section-renderer.yte-hide-shorts.ytd-rich-grid-renderer.style-scope:nth-of-type(2):has-text(/Playables/i)

Just posting here to let everyone know I've updated these filters, noticed I had a plugin that was actually hiding them for me so my own filter I posted from Nov of 2025 wasn't actually doing anything at all lol whoops. Lmk if it doesn't work or if it breaks again I'll try and fix it. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment