NoShorts removes YouTube Shorts elements across YouTube, including shelves, tiles, tabs, search filters, and Shorts player pages. Customize what gets removed from the extension popup.
- About
- How It Works
- Install
- Usage
- Privacy
- Store Description (Short)
- Store Description (Long)
- Bug Reports
- Contributing
- Build
- Makefile
- Notes
NoShorts is a lightweight, configurable browser extension that hides YouTube Shorts so you can focus on regular videos. It works on the YouTube homepage, search results, channels, and Shorts player pages.
NoShorts does not collect, store, or transmit any personal data. All settings are stored locally in your browser.
Hide YouTube Shorts across YouTube. Remove Shorts shelves, tiles, tabs, search filters, and Shorts player pages. Fully configurable with simple toggles.
NoShorts is a lightweight extension that removes YouTube Shorts elements so you can focus on regular videos. It deletes Shorts content from:
- Home shelves and carousels
- Shorts tiles and links
- Shorts tabs and sidebar entry
- Search filter chips
- Shorts player pages
Everything is configurable from the extension popup, and changes apply immediately.
The extension injects a content script into www.youtube.com and m.youtube.com, then removes Shorts-related DOM nodes as pages load. A MutationObserver keeps the page clean as more content appears. You can enable/disable each category from the popup, and changes apply immediately.
Coming soon.
Coming soon.
- Download the latest release from GitHub Releases.
- Unzip the archive.
- Follow the local install steps below for your browser.
- Download the Chrome zip from GitHub Releases.
- Unzip it to a folder.
- Open
chrome://extensions/. - Enable
Developer mode. - Click
Load unpackedand select the unzipped folder.
- Download the Firefox signed
.xpifrom GitHub Releases. - Open
about:addons. - Click the gear icon and choose
Install Add-on From File.... - Select the
.xpifile.
- Open
chrome://extensions/. - Enable
Developer mode. - Click
Load unpackedand select this folder.
- Open
about:debugging#/runtime/this-firefox. - Click
Load Temporary Add-on.... - Select
manifest.jsonfrom this folder.
- Click the NoShorts extension icon.
- Toggle the areas you want to hide.
- Refresh YouTube tabs if needed.
If you find a bug, please open an issue on GitHub and include:
- A clear title and description
- Steps to reproduce
- Expected vs. actual behavior
- Your browser and version
- Screenshots or console errors if available
Contributions are welcome. The fastest way to get a change merged:
- Fork the repo and create a feature branch
- Run
make testbefore submitting - Open a PR with a clear summary and screenshots if UI changes are involved
make install: install dependencies.make test: run unit, smoke, and Firefox lint tests with dividers.make test-unit: run Jest unit tests.make test-smoke: run Playwright smoke tests (installs Chromium).make test-firefox: lint the extension withweb-ext.make firefox-run: launch Firefox with the extension loaded.make build: generate a dev versioned zip indist/.make build-release: build Chrome + Firefox unsigned + Firefox signed packages.make build-release-chrome: build the Chrome package only.make firefox-unsigned: build the unsigned Firefox XPI.make firefox-signed: build the signed Firefox XPI (requires AMO credentials).make playwright-install: install Playwright Chromium (CI installs deps too).make clean: removedist/.
- If YouTube changes markup, selectors may need updates in
content.js.