Guide // Detection

Anti-adblock script 2026: what changed after Manifest V3

Manifest V3 changed how ad blockers work in Chrome, and many older anti-adblock scripts quietly stopped catching the readers they used to. This guide is for publishers: what a detection script can still see in 2026, whether a Manifest V3 blocker like uBlock Origin Lite is caught, and what precision to demand before you trust the numbers.

Free plan: 5,000 detections a month, one site, no payment method.

By the AntiAdBlock Core team · Reviewed on

Does anti-adblock detection still work after Manifest V3?

Yes. Manifest V3 changed the way blockers do their work, not whether a website can tell a blocker is there. What changed is the kind of signal a detection script relies on. The old approach watched what a blocker did while the page ran, step by step. A Manifest V3 blocker does most of its blocking before your page scripts run, so those step-by-step signals are quieter or gone.

What a site can still see is the result: an ad-related request that never completed, an ad slot that stayed empty, a callback that an ad script would normally fire and did not. Those outcomes are still there whatever the blocker is, so a script that reads them keeps detecting blockers in 2026. The scripts that broke are the ones that only watched the old, process-level signals.

Quieter after MV3

  • Watching a filter run in JavaScript
  • A cancelled request that throws an error
  • An extension object left on the page

Still there to read

  • A bait request that never completed
  • An ad slot that stayed empty
  • A callback that never fired

AntiAdBlock Core reads the outcomes // not the extension

What Manifest V3 changed for ad blockers

Manifest V3 is Google's platform for Chrome extensions. Its central change is that a blocker can no longer run a persistent background script that inspects and cancels every request as it happens. Instead, blocking rules are declared ahead of time and the browser applies them itself, through an interface called declarativeNetRequest, with no extension code in the loop.

For a detection script the effect is practical, not philosophical. Signals that came from watching the extension act, in real time and in JavaScript, are weaker on Manifest V3 blockers such as uBlock Origin Lite. The transition is not uniform: Firefox still runs the classic uBlock Origin in full, and plenty of readers are on older setups. So a script written for 2026 has to handle both the old blockers and the new ones, and lean on signals that survive the change.

Manifest V3, the dates that matter

  1. declarativeNetRequest becomes the rule

    New Chrome extensions must declare their blocking rules ahead of time.

  2. Manifest V2 turned off by default

    Chrome begins disabling classic V2 blockers for most users.

  3. The last V2 machinery goes

    Chrome releases through 2026 remove what was left of the old platform.

Primary sources Chrome's Manifest V3 migration docs · uBlock Origin Lite, by its author

Can publishers still detect uBlock Origin Lite in 2026?

This is the question most publishers ask now, and it has a clear answer: yes. uBlock Origin Lite is a Manifest V3 blocker, so it blocks through the browser's declared rules rather than by running in your page. That makes it quieter to the old, process-level checks, which is why some older scripts miss it. It does not make its effect invisible: when it blocks an ad request or hides an ad slot, the outcome is still observable on the page.

uBlock Origin Lite's own author describes it as less capable against anti-adblock measures than the classic extension, because it cannot step in while the page runs. For a publisher that cuts the other way: the readers using it are still detectable, as long as your script reads outcomes rather than watching the extension.

uBlock Origin // Manifest V2

  • Firefox, and older Chrome setups
  • Steps in while the page runs
  • Loud to process-level checks

uBlock Origin Lite // Manifest V3

  • Chrome's current platform
  • Blocks through declared rules
  • Quiet to the old checks, still caught by outcomes

Both detectable // when you read the result, not the extension

The same holds for the other Manifest V3 blockers and for Brave's built-in shields: with Brave the notice is always a wall, as it is for any blocker.

What a detection script can still read in 2026

Without naming the exact tricks, which only helps the filter lists catch up, the signals a modern detection script leans on fall into a few plain categories. Each one reads an outcome on the page, not the extension behind it, which is why they survive the move to Manifest V3.

The art is in combining them and in timing. A slow network can leave the same trace as a blocker if a script decides too quickly, so the hard part is not finding a signal, it is being sure. That is the difference between a script that reports a number and one you can trust.

Signals that survive Manifest V3

Network outcome
Whether a request that a filter list would stop actually completed.
Element visibility
Whether an ad-related element is really shown, not just present in the page.
Environment
Signatures some blockers leave behind, used only to confirm, never alone.

Categories, not a recipe // the engine that combines them is kept up to date daily

What precision to demand in 2026

A detection script has two ways to be wrong. It can miss a reader who is blocking, and it can flag a reader who is not, usually because a slow connection looked like a block. The second is the one that costs you: a false wall shown to a paying reader is worse than a missed detection. So the number that matters is not how many blockers a script claims to catch, it is how rarely it is wrong.

Detection precision

99.7%

across today's blockers, desktop and mobile

Includes uBlock Origin Lite and Brave shields. Your own rate shows in the dashboard.

AntiAdBlock Core reports a detection precision of 99.7% across today's blockers, including uBlock Origin Lite and Brave shields, on desktop and mobile. The engine behind it is kept up to date daily, which is what keeps that figure from drifting as blockers change. Your own dashboard shows your site's ad-block rate from the first visits, so you can see the number on your own traffic rather than take ours.

Building your own detection script, or buying one

Writing a detection script is a weekend. Keeping it accurate is the job. Here is how the choice usually falls for a publisher.

  1. You want to detect blockers accurately, keep your ad network and not maintain any of it

    A maintained detection tool with a wall. This is what AntiAdBlock Core does, on desktop and mobile, starting on the Free plan, with the engine kept up to date daily.

  2. You have a developer who wants to decide what happens in your own code

    The Detection API (Max and Business) detects and counts, shows nothing and hands the result to your page.

  3. You just want to stop readers getting around an existing wall

  4. You run a hobby site and accept a script no one keeps up

    A free copy-paste script may be enough, but filter lists ship rules against the well-known ones by name, so expect it to fade.

If you publish for a living, the maintenance is the catch: a blocker ships, a filter list updates, and a script no one is minding goes quiet without telling you. Anti-adblock for publishers covers the recovery side once detection is in place.

Questions about anti-adblock scripts after Manifest V3

Does anti-adblock still work on Chrome after Manifest V3?

Yes. Manifest V3 changed how blockers block, not whether a site can tell a blocker is present. A script that reads outcomes, such as a request that did not complete or an ad slot that stayed empty, keeps detecting blockers on Chrome. The scripts that stopped working are the ones that only watched the blocker act in JavaScript, which Manifest V3 made quieter.

Can uBlock Origin Lite be detected reliably in 2026?

Yes. uBlock Origin Lite is a Manifest V3 blocker, so it is quieter to the old process-level checks, but its effect on the page is still observable. AntiAdBlock Core detects uBlock Origin Lite on desktop and mobile, with a declared detection precision of 99.7% across today's blockers.

How often does a detection script need updating?

Often enough that you should not be the one doing it. Blockers and filter lists change on their own schedule, and a script that is not kept current goes quiet one reader at a time. AntiAdBlock Core keeps its engine up to date daily, so you do not maintain it.

Is it legal to detect ad blockers?

No law we found bans detecting ad blockers as such; the rules regulate how the check is done. AntiAdBlock Core uses no fingerprinting, no tracking cookies and no visitor identifiers. Like any web server, ours sees the visitor's IP address: we use it in transit, and it is kept only in server logs that are deleted after 14 days. The script leaves a few timestamps with no identifier in the reader's browser, for 30 days at most, which you can list in your cookie notice. See is anti-adblock detection legal?.

What is the best anti-adblock script?

There is no single best script, because the job is detection plus a fair notice plus keeping both accurate as blockers change. For most ad-funded sites a maintained tool beats a copy-paste script that filter lists learn to neutralise. You can compare the options on the anti-adblock for publishers page and try AntiAdBlock Core free.

See which blockers it catches on your site

Start on the Free plan, add one tag or the WordPress plugin, and your ad-block rate shows from the first visits, uBlock Origin Lite and Brave shields included. Want to see it first? The live demo runs the full detector on an example site.

Free plan: 5,000 detections a month, no payment method. Paid plans from $5 a month on pricing.

Keep reading

Explore more