DEV Community

jamilxt
jamilxt

Posted on

Chrome Killed uBlock Origin. Firefox Did Not: Your 15-Minute Migration Plan

Last Sunday a small but permanent thing happened: Google wiped every remaining Manifest V2 extension from the Chrome Web Store, and uBlock Origin, the most popular ad blocker in the world, went with them. No more install button. No more updates. If you uninstall it from Chrome, it is gone for good.

If you run Chrome 139 or newer, the extension does not just disappear from the store. It stops working in the browser itself. I run my own AI agent infrastructure and I spend half my day in a browser, and my first reaction was not panic. It was finally. This has been a six-year slow roll: Google announced Manifest V3 in December 2020, started disabling MV2 extensions in 2024, disabled them across all Chrome channels with Chrome 138 in July 2025, removed the last re-enable flags in Chrome 150 and 151 in the summer of 2026, and finished the job with the store purge on August 31.

This article is not the news recap. You have seen the news. This is the part that matters: what you actually lost, what uBlock Origin Lite still does, and a 15-minute migration plan to Firefox if you want the real thing back.

What exactly died on August 31

Three things, and the third one is the trap.

Store delisting. Every MV2 listing is gone from the Chrome Web Store search index. Even if you have a direct URL to an old extension, the install button is dead.

The update freeze. If you somehow still run an MV2 extension on Chrome 138 or older, it keeps limping along, but developers can no longer push bug fixes, security patches, or filter list updates through the store. A frozen filter list is a decaying filter list. Ad Blocker Tester-style sites will show your block rate dropping month by month.

The removal trap. This is the one people will get burned by. If that frozen extension gets disabled or uninstalled, there is no way back. No reinstall from any official Google channel. One misclick in chrome://extensions and years of accumulated filter rules and custom settings are gone permanently.

Google engineer Devlin Cronin explained the reasoning in a Chromium code review: MV2 support is being removed because of "the complexity and tech debt, as well as the security risks it entails," noting Google found several MV2-specific bugs recently. That is a fair engineering argument. It is also worth holding next to the fact that Google is the world's largest advertising company, it makes Chrome, and it designed Manifest V3. Both things can be true at once.

Why uBlock Origin could not survive this

The full uBlock Origin is not just an extension that happens to run on old Chrome. It is built on a capability that Manifest V3 removed.

Under MV2, extensions had the webRequest API: the ability to intercept every network request in real time and decide, in JavaScript, whether to allow, block, or modify it. uBlock Origin uses that to run millions of dynamic filter rules, updated constantly as sites deploy new tracking tricks.

Manifest V3 replaced that with declarativeNetRequest, a static rule system evaluated by the browser engine. No dynamic JavaScript decisions, no response modification, no real-time adaptation. Google did raise the static rule cap from 30,000 to 330,000 after developer backlash, but the number is not the problem. The model is.

Here is the part that decides whether you should care: full uBlock Origin runs millions of filter rules with dynamic updates. uBlock Origin Lite, the official MV3 version, ships with roughly 17,000 rules and updates its filter lists mainly through extension version updates in the store. That is not a lite version of the same product. It is a different product with a similar name.

And the maintainer, Raymond Hill, has been clear he will never port the full version to Manifest V3, because the platform no longer allows what it does.

One more data point that undercuts the "this was the only technically sound path" argument: Firefox supports dynamic filtering and large rule sets without these caps, and Mozilla has committed to keeping the webRequest API working. The constraints were a design choice, not physics.

What uBlock Origin Lite actually gets you

To be fair to the MV3 version, because honesty matters more than doom:

  • It blocks a meaningful portion of common ads and trackers, free, on the browser most of the world already uses.
  • It is maintained by the same developer, so it is not abandonware.
  • For casual browsing, news sites, and shopping, most people will notice little difference.

What you lose on Chrome:

  • Dynamic filtering and per-site rules you control by hand.
  • Deep cosmetic filtering, meaning hiding ad containers and anti-adblock overlays that render after the page loads. Declarative rules operate at the network layer, not the DOM layer.
  • Fast filter updates. When a site deploys a new tracking script today, an MV3 blocker often waits for the next store-approved extension update.

If you are in the "casual browsing" group, install uBlock Origin Lite and move on. Genuinely. If you were the person with custom filter lists and per-site rules, keep reading.

Chrome vs Firefox in 2026: the honest comparison

I have used Chrome as my daily driver for years, mostly out of inertia and DevTools familiarity. Here is how the two actually compare for someone deciding today.

Ad blocking. Firefox wins, and it is not close. Firefox 155 supports full uBlock Origin with dynamic filtering, element picker, scriptlet injection, and rapid filter list updates. Independent testing this year scored uBlock Origin on Firefox at 100 out of 100 on ad-blocker test sites, including consistent YouTube ad blocking. On Chrome, the ceiling is uBlock Origin Lite, which is a lower ceiling by design.

Performance. Closer than the memes suggest. Firefox is no longer the memory hog it was in 2018. Some user measurements with identical tab sets show Firefox using somewhat less RAM than Chrome; your workload will differ. With ads blocked, page loads on content-heavy sites often finish faster on Firefox than ad-laden Chrome, which tells you where the real performance cost lives.

Sync and ecosystem. Chrome wins if you live inside Google services. Firefox Sync covers bookmarks, passwords, and tabs across devices, including Android, and Firefox can import your Chrome bookmarks, history, and passwords during setup in one step.

DevTools. Chrome still sets the pace, but Firefox DevTools in 2026 covers everything I need for backend API work: network inspection, console, performance profiling. As someone who mostly builds APIs, I have not missed anything.

Privacy posture. Firefox is the only major engine not owned by an ad company. That is the structural argument, and after this week it is no longer abstract.

The Chromium ripple effect. Edge is phasing out MV2 too, so do not plan a lateral move there. Brave is the interesting exception: it self-hosts uBlock Origin, AdGuard, uMatrix, and NoScript in its own extension backend, and its Rust-based ad blocker is built into the browser itself. If you want to stay on a Chromium engine, Brave is the legitimate escape hatch.

The 15-minute migration plan

I walked through this checklist myself. It takes about 15 minutes and nothing is lost if you do the export step properly.

  1. Export your uBlock Origin settings first. Open the uBlock Origin dashboard on Chrome, go to the settings tab, and use "Export to file." This saves your filter lists, custom rules, and allowlists. Do this before anything else.
  2. Install Firefox from mozilla.org. Run the installer alongside Chrome. Nothing is removed. During first-run setup, use the import option to pull bookmarks, history, and passwords from Chrome. Verify the import rather than assuming every setting made it.
  3. Install uBlock Origin from addons.mozilla.org. Check the publisher is Raymond Hill (gorhill). One click.
  4. Import your settings. In Firefox's uBlock Origin dashboard, use "Restore from file" and load the export from step 1. Your custom rules and allowlists come back exactly as they were.
  5. Test your problem sites. Banking, work portals, streaming, and any site where you had a custom exception in uBlock Origin. Re-add site-specific allowlists where needed.
  6. Keep Chrome for two weeks. Do not uninstall it. Run both, and let muscle memory tell you whether Firefox has become the default. After two weeks you will know.

If you would rather stay on Chromium: install Brave, enable uBlock Origin under Settings, Extensions, Manifest V2 extensions, and back up your uBO configuration before removing the old Chrome install.

What I would tell my past self

The migration itself was the easy part. The lesson is bigger: when the company that sells the ads also builds the browser and writes the extension rules, extension policy is product strategy. The six-year timeline was not indecision. It was a controlled demolition, and the fact that Mozilla kept webRequest working the whole time shows the technical constraints were optional.

Do not wait for a broken extension to force the decision. The frozen-update state is the worst of both worlds: a filter list that decays quietly while you think you are still protected.

One practical note for developers: if you maintain any internal tooling documented as "install this Chrome extension," check whether that extension is MV2. Some of our internal onboarding docs referenced MV2 extensions that new hires can no longer install at all. That is the kind of breakage nobody puts in the release notes.

I write about developer tools, AI, and the open web every week. Subscribe, it is free.

Which side did you land on: uBlock Origin Lite on Chrome, a Brave switch, or the full Firefox migration? What broke, if anything? I am collecting real migration experiences for a follow-up piece.

Top comments (0)