3 minute read

The transition from Manifest V2 to Manifest V3 represents one of the most significant architectural shifts in the history of web browsers. As of July 2025, Chrome 138 permanently disabled all remaining MV2 extensions for standard users — including popular tools like the original uBlock Origin — with the Chrome Web Store set to remove all remaining MV2 listings on August 31, 2026. For those managing legacy tools or searching for working replacements, knowing both the modern API alternatives and the extensions that have already made the transition is essential.


The Extensions That Already Made the Switch

Before diving into the underlying API changes, it helps to know which real-world extensions have successfully migrated to Manifest V3 — and which browser-level alternatives sidestep the restrictions entirely.

uBlock Origin Lite (uBOL)

The original uBlock Origin was removed from the Chrome Web Store in late 2024 and permanently disabled in Chrome 138. Its creator, Raymond Hill, released uBlock Origin Lite as a separate MV3-compliant extension. It is free and open-source, but operates under MV3’s static ruleset constraints — independent testing suggests it achieves roughly 60–70% of the original’s blocking rate compared to 90–95% for the full version on Firefox.

AdGuard

AdGuard released a fully MV3-compliant Chrome extension and continues to maintain a standalone desktop application that uses system-level filtering to bypass browser extension restrictions entirely. The browser extension is free; the desktop app requires a subscription. In independent testing, AdGuard scored 100/100 on AdBlock Tester after full configuration, making it one of the strongest MV3-era options for Chrome users.

Adblock Plus

Adblock Plus launched its MV3 version in May 2024, supporting up to 100 filter lists with 50 active simultaneously. Worth noting: its “Acceptable Ads” program lets some non-intrusive ads through by default — disabling it in settings restores full blocking behavior.

Ghostery

Ghostery is a free, privacy-focused MV3-compatible extension with strong tracker-blocking capabilities. Like all Chrome extensions, it operates within MV3’s declarativeNetRequest limits, but its privacy-layer features remain effective for everyday browsing.

Browser-Level Alternatives: Brave and Firefox

For users unwilling to accept MV3’s limitations, two browser-level alternatives restore full blocking power:

  • Brave Browser builds its Shields ad blocker directly into the browser’s core code using C++ and Rust, bypassing the extension API entirely. Manifest V3 has zero impact on Brave’s native blocking capability.
  • Firefox explicitly maintains support for both MV2 and MV3 extensions, meaning the full, unrestricted uBlock Origin still runs at complete power on Firefox — with dynamic filtering, cosmetic filtering, and no rule caps.

The API-Level Alternatives: What Changed Under the Hood

For developers building or maintaining extensions, the MV3 transition introduces specific API replacements that underpin the tools above.

Service Workers: Replacing Background Pages

In Manifest V2, background pages or event pages ran persistently, consuming system resources even when idle. Manifest V3 replaces these with service workers — ephemeral, event-driven processes that spin up when needed and shut down when idle. According to Google’s migration documentation, this keeps background code off the main thread and prevents extensions from degrading browser performance.

Because service workers cannot access the DOM or window object, developers must relocate DOM-dependent operations into dedicated offscreen documents — lightweight, invisible pages that handle rendering tasks without impacting the main browser thread.

Declarative Net Request: Replacing Blocking Web Requests

The blocking web request API — which allowed extensions to intercept and modify network requests in real time — is replaced by the Declarative Net Request API. As documented in Chrome’s net request guide, extensions now declare filtering rules upfront, which the browser executes directly. This reduces permission overhead but removes the real-time, dynamic filtering that made tools like the original uBlock Origin so effective.

The 330,000-rule cap under declarativeNetRequest is the primary reason the full uBlock Origin cannot be replicated as a Chrome extension — and why browser-level alternatives like Brave Shields or Firefox with uBlock Origin remain the strongest options for power users.

Enhanced Content Security

Manifest V3 completely removes support for remotely hosted code and prohibits the execution of arbitrary strings. All executable logic must be packaged locally within the extension bundle, as documented in Chrome’s security improvement guide.


Migration Tools for Developers

For developers converting their own extensions, Google provides an open-source Extension Manifest Converter on GitHub that handles basic manifest structure conversions. It does not automate complex API rewrites, but serves as a useful starting point.

When deploying a migrated extension, Google recommends a step-wise rollout to a limited audience first, as outlined in the Chrome Publishing Guide, to catch any runtime issues before full release.


Sources: