Manifest V3 vs MV2: Why Firefox's Position Matters for Ad Blocking and Privacy Extensions
Manifest V3 (MV3) is Google's extension platform change for Chrome that restricts how content blocking extensions work. This has significant implications for privacy tools, ad blockers, and developer extensions. Firefox'
Manifest V3 (MV3) is Google's extension platform change for Chrome that restricts how content blocking extensions work. This has significant implications for privacy tools, ad blockers, and developer extensions. Firefox's approach differs substantially.
What Manifest V3 Changes
The key change: In Chrome's MV3, the webRequest API (which lets extensions modify network requests in real-time) is replaced with declarativeNetRequest (where extensions declare static rules that the browser applies).
Why this matters for ad blockers:
- uBlock Origin uses
webRequestto inspect each request and apply complex filter rules -
declarativeNetRequestlimits extensions to 30,000 static rules (recently raised to unlimited, but with other limitations) - Dynamic filtering (blocking based on page context, element hiding via JS) is restricted
The practical impact (in Chrome):
- uBlock Origin runs in "reduced capabilities" mode in Chrome with MV3
- The full rule set (millions of filter combinations) can't be replicated in declarativeNetRequest
- Some filter lists that rely on JavaScript-based hiding won't work
Firefox's MV3 Position
Mozilla has announced that Firefox will support MV3 but also continue supporting MV2 indefinitely.
This is the critical difference: Firefox doesn't force migration away from MV2. The webRequest API (blocking mode) remains available in Firefox MV2 extensions.
What this means in practice:
- uBlock Origin works at full capability in Firefox — it uses MV2 and can stay on MV2
- Firefox users aren't forced to use the weakened MV3 version of uBlock
- Extension developers can choose MV2 or MV3 based on what their extension needs
Mozilla's reasoning: they want content blocking to remain effective, and MV3's restrictions undermine that. They'll implement MV3 for cross-browser compatibility but won't deprecate MV2.
Current State: Firefox vs Chrome Extension Versions
uBlock Origin:
- Chrome: uBlock Origin Lite (MV3) — "reduced feature set" per the developer (Raymond Hill)
- Firefox: uBlock Origin (MV2) — full capabilities, dynamic filtering, all filter lists
The uBlock Origin developer has been explicit that Chrome's MV3 version is less capable. This isn't FUD — it's a technical limitation of what declarativeNetRequest can express compared to the full webRequest API.
Other content blockers:
Most serious content blockers face the same issue. AdGuard and others have similar MV2/MV3 splits.
What MV3 Extension Developers Gain
MV3 isn't all bad. It was designed to improve security:
Service worker background pages: MV3 extensions use service workers instead of persistent background pages. Benefits:
- Lower memory usage (service worker can be suspended)
- Better browser startup performance (no persistent background processes)
Host permissions: MV3 changed how extensions request broad permissions. Users can now grant host permissions at install time or on-demand (per-site).
Code execution: MV3 disallows remotely-hosted code. Extensions can't load arbitrary JavaScript from remote servers. This improves security (malicious extensions couldn't phone home for new code).
Firefox MV3 compatibility note: Firefox implements MV3 but some Chrome-specific APIs differ (like dnr vs declarativeNetRequest naming).
What This Means for Different User Types
Privacy-focused users: Use Firefox with uBlock Origin (MV2). You get full ad/tracker blocking that Chrome's MV3 ecosystem can't match.
Developers building extensions:
- If your extension needs
webRequest(real-time request inspection/modification): Firefox with MV2 is the right target - If your extension doesn't need blocking capabilities: MV3 is fine and works in both browsers
Enterprise users: Firefox's enterprise policies let IT lock in extension versions and prevent forced upgrades. MV2 extensions can be maintained on Firefox in enterprise deployments.
The "Manifest V3 is Fine" Counterargument
To be fair to Chrome's position:
- Google has raised the rule limit for declarativeNetRequest significantly
- Most users' ad blocking needs can be met by static rules (block these domains)
- The complexity reduction may benefit extension security
- Dynamic JavaScript-based tracking (that webRequest could block) has become less common
The uBlock Origin developer disagrees with this framing, arguing that complex tracking requires dynamic response capability.
The honest summary: Simple use cases work in Chrome MV3. Sophisticated content blocking (uBlock's medium mode, element hiding that requires JS, highly dynamic rules) is meaningfully less powerful.
Checking Which Manifest Version an Extension Uses
In Firefox about:debugging:
- This Firefox → Extensions
- Click "Inspect" on any extension
- The Manifest Version is visible in the extension's manifest.json
Or look at the extension's source in about:addons → gear icon → View source.
For extensions on AMO:
- Visit the extension page on addons.mozilla.org
- Click "Technical Details" → "Source code"
- Open manifest.json
Browser Extension Compatibility Matrix
| Feature | Chrome MV3 | Firefox MV2 | Firefox MV3 |
|---|---|---|---|
| webRequest blocking | No | Yes | No |
| declarativeNetRequest | Yes | Limited | Yes |
| Service worker background | Yes | No | Yes |
| Persistent background pages | No | Yes | No |
| Remote code execution | No | Yes | No |
| uBlock Origin full mode | No | Yes | No |
Practical Recommendation
For users who care about effective ad blocking:
- Use Firefox
- Install uBlock Origin (not Lite) from AMO
- Add extra filter lists (EasyPrivacy, etc.)
- Enable medium mode for more aggressive blocking
This setup provides content blocking that Chrome users with MV3 extensions can't match. It's one of the concrete reasons to use Firefox over Chrome in 2024.
Originally published by Dev.to Security. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.