! src: https://git.per.cx/casper/filter-lists/filter.txt ! ! youtube ! ! primary feed (home, subscriptions, shorts) !youtube.com##ytd-rich-grid-renderer #contents ytd-rich-item-renderer:has-text(/Bad1|Bad2|Bad3/i):style(display:none!important) !youtube.com##ytd-watch-next-secondary-results-renderer #items ytd-compact-video-renderer:has-text(/Trump|Vance|Elon/i):style(display:none!important) !youtube.com##ytd-search #contents ytd-video-renderer:has-text(/Bad1|Bad2|Bad3/i):style(display:none!important) !youtube.com##ytd-reel-shelf-renderer ytd-reel-item-renderer:has-text(/Bad1|Bad2|Bad3/i):style(display:none!important) ! ! ! ! Hide chat window when viewing streams www.youtube.com###chat:remove() ! Hide "Shorts remixing this video" shelf in the description www.youtube.com##ytd-reel-shelf-renderer ! Hide View Products www.youtube.com##.ytp-suggested-action-badge-expanded ! Hide Includes paid promotion www.youtube.com##.ytp-paid-content-overlay ! ! hide horizontal scrollbar only shown on Firefox (version 86+) !#if env_firefox www.youtube.com##ytd-app:style(--ytd-app-fullerscreen-scrollbar-width: -1px !important;) !#endif ! ! prevent stats from live-updating ||youtube.com/youtubei/v1/updated_metadata ! ! ! hide the hashtags above the video title www.youtube.com###description #info a[href^="/hashtag/"] www.youtube.com###super-title www.youtube.com##.super-title m.youtube.com##.standalone-collection-badge a[href^="/hashtag/"] m.youtube.com##ytm-video-description-header-renderer button-view-model a[href^="/hashtag/"] ! ! hide the copyright notice in the video description www.youtube.com###description .ytd-watch-metadata #items:has(.ytd-video-description-music-section-renderer) m.youtube.com##ytm-video-description-music-section-renderer ! ! hide donation option youtube.com###donation-shelf ! !------------------------------------------------------------------------------------------------------------- ! ! Hide Shorts ! YT Homepage and Subscriptions (Grid View) - hide the Shorts section youtube.com##[is-shorts] ! YT Menu - Hide the Shorts button www.youtube.com###guide [title="Shorts"], .ytd-mini-guide-entry-renderer[title="Shorts"] ! YT Search - Hide Shorts www.youtube.com##ytd-search ytd-video-renderer:has([overlay-style="SHORTS"]) ! YT Search, Channels, Subscriptions (List View) and Sidebar/Below Player Recommendations - Hide the Shorts sections www.youtube.com##ytd-reel-shelf-renderer ! YT Channels - Hide the Shorts tab www.youtube.com##[tab-title="Shorts"] ! YT Subscriptions - Hide Shorts - Grid View www.youtube.com##ytd-browse[page-subtype="subscriptions"] ytd-grid-video-renderer:has([overlay-style="SHORTS"]) ! YT Subscriptions - Hide Shorts - List View www.youtube.com##ytd-browse[page-subtype="subscriptions"] ytd-video-renderer:has([overlay-style="SHORTS"]) ! YT Subscriptions - New Layout - Hide Shorts www.youtube.com##ytd-browse[page-subtype="subscriptions"] ytd-rich-item-renderer:has([overlay-style="SHORTS"]) ! YT Sidebar - Hide Shorts www.youtube.com###related ytd-compact-video-renderer:has([overlay-style="SHORTS"]) ! ! YT Mobile - Hide the Shorts Menu button m.youtube.com##ytm-pivot-bar-item-renderer:has(>.pivot-shorts) ! YT Mobile - Hide the Shorts sections m.youtube.com##ytm-reel-shelf-renderer m.youtube.com##ytm-rich-section-renderer:has([d^="M17.77,10.32l-1.2"]) ! YT Mobile - Hide Shorts in search results m.youtube.com##ytm-search ytm-video-with-context-renderer:has([data-style="SHORTS"]) ! YT Mobile - Hide the Shorts button on Channels m.youtube.com##[tab-title="Shorts"] ! ! ! Hide the text label of the dislike/share/download/report/save buttons !www.youtube.com###actions.ytd-watch-metadata button > div[class$="text-content"]:not(:has-text(/[\d]/)) !www.youtube.com###actions.ytd-watch-metadata ytd-button-renderer .yt-spec-button-shape-next .yt-spec-button-shape-next--button-text-content !www.youtube.com###actions.ytd-watch-metadata ytd-button-renderer .yt-spec-button-shape-next__icon:style(margin-right: -6px !important; margin-left: -6px !important;) !m.youtube.com##ytm-slim-video-action-bar-renderer button [class*="button-text-content"]:not(:has-text(/\d/)) !m.youtube.com##ytm-slim-video-action-bar-renderer ytm-button-renderer div[class$="icon"]:style(margin-right: -6px !important; margin-left: -6px !important;) ! ! Don't enter / exit fullscreen on double-click !www.youtube.com##+js(aeld, dblclick) ! ! Hide upcoming Youtube videos !www.youtube.com##ytd-browse ytd-grid-video-renderer:has(ytd-thumbnail-overlay-time-status-renderer[overlay-style="UPCOMING"]) !www.youtube.com##ytd-browse ytd-rich-item-renderer:has(ytd-thumbnail-overlay-time-status-renderer[overlay-style="UPCOMING"]) !www.youtube.com##ytd-browse[page-subtype="subscriptions"] ytd-video-renderer ytd-thumbnail-overlay-time-status-renderer[overlay-style="UPCOMING"]:upward(ytd-item-section-renderer) ! ! Brand image in the corner !youtube.com##.ytp-button.branding-img-container ! ! Hide "1080p Premium" in the video quality menu !!#if env_firefox !youtube.com##.ytp-quality-menu .ytp-premium-label:upward(.ytp-menuitem) !!#endif !!#if env_chromium !youtube.com##.ytp-quality-menu .ytp-menuitem:has(.ytp-premium-label) !!#endif ! ! Hide Verified checkmark !www.youtube.com##.ytd-badge-supported-renderer.style-scope.badge-style-type-verified.badge !www.youtube.com##.ytd-comment-renderer #author-text:remove-attr(hidden) !www.youtube.com##.ytd-comment-renderer #author-comment-badge ! Hide badges (such as "New") under video recommendations on the sidebar !www.youtube.com##ytd-video-meta-block + ytd-badge-supported-renderer ! Hide the rainbow-colored border animation around the subscribe button ! https://github.com/yokoffing/filterlists/pull/117 !www.youtube.com##yt-smartimation > *:not(.smartimation__content) ! Removes Mixes from the Main Page !youtube.com##ytd-rich-item-renderer:has([href$="start_radio=1"]) ! Removes Mixes from the right side panel !youtube.com##ytd-compact-radio-renderer ! Removes Mixes from the right side panel (Dec 2024) !youtube.com###related yt-lockup-view-model:has([href*="&start_radio=1&"]) ! Removes Mixes from search results !youtube.com##ytd-radio-renderer ! Removes Mixes from search results (Dec 2024) !youtube.com##ytd-search yt-lockup-view-model:has([href$="&start_radio=1"][aria-label]) ! Removes Mixes from Video End Cards !youtube.com##.ytp-videowall-still[data-is-mix="true"] ! Removes "YouTube" (Music) playlists from the right side panel !youtube.com##ytd-compact-playlist-renderer:has([title^="YouTube"]) ! ! ------------------------------------------------------------------------ ! block youtube telemetry, geolocation, event logs (11/02/25) !||youtube.com/api/stats/$xhr,domain=youtube.com !||youtube.com/youtubei/v1/log_event$xhr,domain=youtube.com !||youtube.com/api/stats/qoe$xhr,domain=youtube.com !||youtube.com/api/stats/playback$xhr,domain=youtube.com !||youtube.com/api/stats/watchtime$xhr,domain=youtube.com ||youtube.com/api/stats/ads$xhr,domain=youtube.com ! ! youtube location blocking !||youtube.com/youtubei/v1/location$xhr,domain=youtube.com !||youtubei.googleapis.com/youtubei/v1/location$xhr,domain=youtube.com !||youtube.com/*LOCATION_PLAYABILITY_TOKEN*^$cookie,domain=youtube.com ! ! removes navigator.getCurrentPosition and watchPosition from yt javascript youtube.com##+js(nano-stb, navigator.geolocation.getCurrentPosition) youtube.com##+js(nano-stb, navigator.geolocation.watchPosition) ! ! block ad endpoints ||youtube.com/api/stats/ads?*^ !||youtube.com/api/stats/watchtime?*adformat=^ !||youtube.com/get_midroll_info?^ ||youtube.com/pagead/^ ||youtube.com/ptracking?^ ||youtube.com/youtubei/v1/player/ad_* ||youtube.com/youtubei/v1/player?*adformat=^ ||youtube.com/youtubei/v1/log_event?*ad_* ! ! block ad delivery !||googlevideo.com/videoplayback*ctier=A^ ||googlevideo.com/videoplayback*oad^ ||googlevideo.com/videoplayback*adformat=^ !||googlevideo.com/videoplayback*dur=0.^ ! ! other advertising and commercial APIs ||youtube.com/pagead/$xhr,domain=youtube.com ||youtube.com/pagead/*$xhr,domain=youtube.com ||youtube.com/api/stats/ads$xhr,domain=youtube.com ||youtube.com/api/stats/ad_break$xhr,domain=youtube.com ||youtube.com/api/stats/ads_impression$xhr,domain=youtube.com ||youtube.com/api/stats/ads_conversion$xhr,domain=youtube.com ||youtube.com/api/stats/ads_feedback$xhr,domain=youtube.com !||youtube.com/api/stats/commerce$xhr,domain=youtube.com !||youtube.com/api/stats/transaction$xhr,domain=youtube.com ! ! block status code telemetry ||youtube.com/gen_204$xhr,domain=youtube.com ! block a/b testing telemetry ||youtube.com/api/stats/abtest*$xhr,domain=youtube.com ! block feedback telemetry ||youtube.com/api/stats/feedback*$xhr,domain=youtube.com ! block 'pagead' telemetry ||youtube.com/pagead/*$xhr,domain=youtube.com ! ! log events ||youtube.com/youtubei/v1/log_event$xhr,domain=youtube.com ||youtubei.googleapis.com/youtubei/v1/log_event$xhr,domain=youtube.com ! ! ! whitelist for full functionality !@@||youtube.com/youtubei/v1/player$xhr,domain=youtube.com !@@||youtube.com/youtubei/v1/next$xhr,domain=youtube.com !@@||youtube.com/youtubei/v1/browse$xhr,domain=youtube.com !@@||youtube.com/youtubei/v1/log_event?*/player*,domain=youtube.com !@@||youtube.com/api/stats/qoe$xhr,domain=youtube.com !@@||youtube.com/api/stats/playback$xhr,domain=youtube.com !@@||youtube.com/api/stats/watchtime$xhr,domain=youtube.com !@@||youtube.com/api/stats/engagement$xhr,domain=youtube.com !@@||youtube.com/api/timedtext$xhr,domain=youtube.com ! ! ! ! ! ! ! ! ! twitter ! ! analytics/views button on tweets twitter.com,x.com##article [role=group] [href$="/analytics"]:upward(div:not(:only-child)) ! views - new placement in conversation view twitter.com,x.com##[aria-label="Timeline: Conversation"] [href*="/status/"] ~ span ! twitter - get verified twitter.com,x.com##[aria-label="Get Verified"] ! twitter - live spaces twitter.com,x.com##[data-testid="sidebarColumn"] [data-testid="placementTracking"]:last-child:upward(1) ! ! ! chatgpt ||atlassian.com^$domain=chatgpt.com ||api.atlassian.com^$domain=chatgpt.com ||statsigapi.net^$domain=chatgpt.com ||api.onedrive.com^$domain=chatgpt.com ||px.ads.linkedin.com^$domain=chatgpt.com ! openai ||atlassian.com^$domain=openai.com ||api.atlassian.com^$domain=openai.com ||statsigapi.net^$domain=openai.com ||api.onedrive.com^$domain=openai.com ||px.ads.linkedin.com^$domain=openai.com ! ! global block !||px.ads.linkedin.com^ !||statsigapi.net^ !||atlassian.com^ !||api.onedrive.com^ !||intercom.io^ !||widget.intercom.io^ !||hotjar.com^ !||doubleclick.net^ !||static.hotjar.com^ !||facebook.com^ ! ! ! ! ---------------------------------------------------------------- ! mozilla newtab wallpapers ||firefox-settings-attachments.cdn.mozilla.net/main-workspace/newtab-wallpapers^ ||firefox-settings-attachments.cdn.mozilla.net/main-workspace/newtab-wallpapers-v1^ ||firefox-settings-attachments.cdn.mozilla.net/main-workspace/newtab-wallpapers-v2^ ! !END