RYS removes the YouTube recommendation feed one DOM change at a time
A browser extension that lets you hide recommendations, customize the interface, and take control of your YouTube experience.
At a glance
- What is it?
- RYS, Remove YouTube Suggestions, is a browser extension for Firefox and Chrome that hides recommendations and customises the YouTube interface, with the core project open source under MPL-2.0 and a paid tier for premium features. It is maintained by one person who shipped three releases in two days in October 2026.
- Who is it for?
- Adopt RYS if you use YouTube in a desktop browser and want the recommendation surfaces gone, and you are willing to keep a small extension updated as YouTube changes its markup. Do not adopt it as a privacy tool, since it changes what the page shows rather than what it sends, and do not expect it to work in a mobile app or in an embedded player.
- Can I use it commercially?
- Yes, with conditions. MPL-2.0 is a weak copyleft licence: you can use it inside commercial and closed-source software, but if you distribute changes to its own files, you must publish those changes under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 12 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A single author, a clear motivation and a very small scope
RYS is described as a browser extension that lets you hide recommendations, customize the interface, and take control of your YouTube experience, and the repository description says the same thing in slightly different words.
The why section is the most interesting part of the README, because it explains the problem in terms of attention rather than privacy. YouTube's recommendation algorithm optimizes for the most engaging videos, not the ones you actually want to watch, and it is easy to lose hours to the rabbit hole. The extension lets you cut the noise and use YouTube on your own terms.
That framing matters for how you should judge the project. This is not an ad blocker and it is not a tracker blocker. It is a layout intervention on a specific website, aimed at a specific set of surfaces, and it does not touch what YouTube sends to Google.
The project is 100 percent open source, created and maintained by one person, Lawrence Hook, and the README asks for bug reports, pull requests or a direct email. The primary language is JavaScript, the licence is MPL-2.0, the default branch is main, and the homepage is a page on the author's own site.
The release cadence is the sign of an actively worked on project. Version 4.5.0 was published on 2026-10-10, 4.5.1 on 2026-10-11 and 4.5.2 on 2026-10-11, with the last push on 2026-10-11. Three releases in two days is what a project reacting to a change upstream looks like.
Two stores, one codebase and a premium tier
The extension is distributed through both browser stores, with separate listings for Firefox and for Chrome, and the README asks for reviews on both. There is also a Google Form for feedback, which is a small signal about how the author wants to collect issues.
The important structural detail is the funding model. The project is free to use with optional premium features, and the premium page lives on the author's own site.
That arrangement is common for browser extensions and it is worth being clear about what it means for the open source part. The source is published under MPL-2.0, which is a file-level copyleft licence: if you modify the covered files and distribute them, your modified versions of those files stay under MPL-2.0, while the rest of a larger work can be under different terms. It is a permissive licence in practice, with no copyleft reach into unrelated code, and no requirement to open source a project that merely uses the extension.
The MPL choice is also a good fit for an extension that is patched to a moving target. When a YouTube markup change breaks a selector, the fix is a small diff to a handful of files, and file level copyleft means the patch itself has to remain available, which is what keeps the community able to maintain a fork the author is not working on.
The repository root carries a LICENSE file, a RELEASE.md and a TODO.md, which is the paperwork of a project that expects to keep shipping.
The development loop runs through dev.sh
The development instructions in the README are a clone, a global install of the Mozilla extension tool, and two script invocations:
git clone https://github.com/lawrencehook/remove-youtube-suggestions.git
cd remove-youtube-suggestions
npm install --global web-ext./dev.sh firefox # opens Firefox with the extension loadedThe two paths differ in an important practical way. The Firefox path opens Firefox with the extension loaded, which is the web-ext workflow and means you see the change in a real browser immediately. The Chrome path builds a dist/chrome/ directory that you load as an unpacked extension through chrome://extensions.
The repository layout explains the tooling. There are separate firefox.sh and chrome.sh scripts, a dev.sh that dispatches to them, a scripts/ directory, a src/ directory for the extension source, a server/ directory, a tests/ directory, a docs/ directory and a screenshots/ directory.
The presence of a server/ directory alongside a browser extension is the one thing the README does not explain, and it is a reasonable place to look before contributing, because an extension that ships a server component has a different deployment and privacy story from one that is entirely local.
The GitHub issue tracker and pull requests are the contribution route, and the author's email is published as the fallback for anything the tracker does not suit.
What a recommendation blocker can and cannot do
The honest limits of this class of extension are worth spelling out, because they are the same for every project that does this and they are not obvious until something breaks.
The first limit is fragility. The extension works by changing the YouTube page, which means it depends on the structure of that page. When YouTube changes a class name or rewrites a component, the selectors stop matching and the feature silently stops working. There is no error, the page just starts showing suggestions again. That is why the release history looks the way it does, and it is the main reason to install from the store rather than pinning an old build.
The second limit is scope. This operates on the YouTube web interface in a desktop browser. It does not affect the mobile apps, it does not affect embedded players on other sites, and it does not affect the algorithms themselves, only the surfaces they surface through. If the recommendation problem you have is on your phone, this is the wrong tool.
The third limit is that the interface is not a privacy boundary. Nothing here changes what YouTube sends, what it logs, or how it responds to your account. If the concern is data rather than attention, the extension is irrelevant, and the honest thing to say is that the README does not claim otherwise.
The fourth is the premium split. Some functionality is behind the paid tier, so the open source build and what you get from the store are not necessarily the same thing. The README does not enumerate which features are premium, so the premium page is where to check before assuming a capability is included.
The alternative is the platform's own settings, and a different goal
There is a closer alternative to RYS than a competing extension, and it is the one YouTube already provides.
YouTube has its own settings for recommendations, including the ability to turn off autoplay and, on some surfaces, to switch the related videos feed to a different mode. For a user whose only goal is to stop the rabbit hole, that setting is free, official, survives every markup change, and requires no extension at all.
The difference in approach is the scope of intervention. A setting tells the server what to send you. An extension changes the page after the server has sent it. That is why an extension can hide surfaces the settings do not expose, and why the settings cannot be defeated by a change in the recommendation engine while an extension can be defeated by a change in the DOM.
The other family of alternatives is the general purpose blocker and customiser, the kind of extension that writes its own rules against any site. Those are more powerful for someone who wants to strip a site down to the bone, and more dangerous to maintain, because the rules have to be written against markup you did not design and will not get change notifications for.
RYS sits between the two, and its advantage is that the rules are already written and already kept current by someone who is watching the page every day. That is a real service, and it is the reason a project with one maintainer and a premium tier can still be worth installing.
Editorial conclusion
Adopt RYS if you use YouTube in a desktop browser and want the recommendation surfaces gone, and you are willing to keep a small extension updated as YouTube changes its markup. Do not adopt it as a privacy tool, since it changes what the page shows rather than what it sends, and do not expect it to work in a mobile app or in an embedded player. Before you install, check the store listing for your browser, read what the premium tier adds compared with the open source build, and plan for the day when a YouTube markup change breaks the extension until a new release fixes it.
Frequently asked questions
What does the RYS browser extension do?
It is a browser extension for YouTube that hides recommendations, customises the interface and lets you take control of the experience. The README frames the motivation as the recommendation algorithm optimising for engaging videos rather than the ones you want, and it is free to use with optional premium features.
Which browsers does Remove YouTube Suggestions support?
Both. There is a Firefox add-on listing and a Chrome Web Store listing, and the development scripts have matching paths: ./dev.sh firefox opens Firefox with the extension loaded through web-ext, while ./dev.sh chrome builds dist/chrome/ for loading as an unpacked extension in chrome://extensions.
How do I build the extension from source?
Clone the repository, install web-ext globally with npm, and then run ./dev.sh firefox or ./dev.sh chrome. The source lives in src/, the build scripts in the repository root, with scripts/, server/, tests/ and docs/ directories alongside.
What licence is Remove YouTube Suggestions under?
MPL-2.0, with the LICENSE file in the repository root. It is a file level copyleft, so modified versions of the covered files stay under the MPL when distributed, while larger works that merely use the extension are unaffected.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/lawrencehook-remove-youtube-suggestions)Was this useful?