A small extension to make YouTube more usable.
  • JavaScript 62.1%
  • CSS 29.4%
  • HTML 4.3%
  • Nix 4.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-14 10:36:51 -04:00
icons Initial Commit 2026-10-14 10:36:34 -04:00
options UI Updates and Config Changes 2026-10-14 10:36:51 -04:00
popup UI Updates and Config Changes 2026-10-14 10:36:51 -04:00
src UI Updates and Config Changes 2026-10-14 10:36:51 -04:00
.envrc UI Updates and Config Changes 2026-10-14 10:36:51 -04:00
.gitignore Initial Commit 2026-10-14 10:36:34 -04:00
flake.lock Initial Commit 2026-10-14 10:36:34 -04:00
flake.nix Initial Commit 2026-10-14 10:36:34 -04:00
LICENSE Initial Commit 2026-10-14 10:36:34 -04:00
manifest.json UI Updates and Config Changes 2026-10-14 10:36:51 -04:00
README.md UI Updates and Config Changes 2026-10-14 10:36:51 -04:00

BetterView

A free, open source Firefox extension that strips YouTube's algorithmic attention traps: recommendations, Shorts, autoplay, end-screen suggestion cards, and more. Every feature is an individual toggle — nothing is forced on you beyond the defaults.

Independent implementation; not affiliated with, derived from, or a fork of any other similarly-named extension.

Features

Toggle Default What it does
Home
Hide homepage recommendations on Replaces the algorithmic home feed with a link to Subscriptions
Redirect homepage to Subscriptions off Skips the home feed, lands you on /feed/subscriptions
Hide topic/category chip bar on Hides the row of algorithmic topic chips above the feed
Videos per row on homepage auto Forces 2–10 columns instead of YouTube's responsive default
Sidebar
Hide Subscriptions list off Hides the Subscriptions section + channel list
Hide "You" section off Hides Your channel/History/Playlists/Watch later/etc.
Hide "Explore" section off Hides Explore/Trending/Music/Gaming links
Header
"Ask YouTube" AI button off Hides the AI search button next to the search bar
Microphone / voice search off Hides the voice search button
Create button off Hides the + Create button
Notifications bell off Hides the bell icon
Player
Hide related / up next videos on Hides the suggested-videos sidebar next to the player
Hide end-screen suggestions on Removes suggestion cards/grid shown when a video ends
Disable autoplay on Keeps "Autoplay next video" switched off
Hide comments off Hides the comments section
Content
Hide Shorts on Removes the Shorts shelf/sidebar link; Shorts URLs open as normal videos
Hide auto-generated Mixes on Hides algorithmic Mix/Radio playlists
Hide extra shelves on Hides merch shelves and similar promo content (best effort)

All settings sync across your Firefox devices via storage.sync and apply live to open tabs — no reload required.

The Sidebar and Header toggles match elements by their visible text or aria-label (via src/content.js's hideSidebarSection / hideMastheadButton helpers) rather than a fixed custom-element selector, since YouTube doesn't expose stable tag names for them. This is more resilient to internal markup churn than the CSS-only toggles, but is still heuristic — report back (or open a PR) if one doesn't match your current YouTube layout.

Developing

A Nix flake pins the toolchain (web-ext, Firefox, ImageMagick):

nix develop
web-ext lint --source-dir betterview
web-ext run --source-dir betterview -t firefox-desktop   # live-reloads on save
web-ext build --source-dir betterview -a dist            # produces dist/*.zip

No flake/Nix? Any recent web-ext (from npm: npm i -g web-ext) works the same way.

Installing without the add-on store

Firefox requires signed extensions for permanent installs. For local/personal use without signing:

  1. Open about:debugging#/runtime/this-firefox
  2. "Load Temporary Add-on…" → select manifest.json
  3. It stays installed until Firefox restarts (re-load after each restart), or use web-ext run for the same effect with auto-reload during development.

To install permanently without the public add-on store, submit the built zip to addons.mozilla.org as an unlisted add-on — Mozilla signs it for free and you self-distribute the signed .xpi.

Contributing

YouTube's DOM (the ytd-* custom elements this relies on) changes without notice; selectors in src/content.css may need periodic updates. PRs welcome.

License

MIT — see LICENSE.