Ad Blocker Test

Check in one click whether your browser, extension, VPN, or DNS filter actually blocks ads, trackers, and analytics scripts.

Total :

Some setups, like Firefox with uBlock Origin, can skew results.

This test is free and open source. A star helps more people find it. Star on GitHub

  Cosmetic Filter

  Static Ad
  Dynamic Ad
Why does the Cosmetic Filter test fail?

If the cosmetic filter test fails, it means this site (adblock.turtlecute.org) is not included in your blocker's filter lists.
This does not mean cosmetic filtering fails everywhere. You can confirm this by visiting a popular, ad-rich site where you're unlikely to see any ad boxes.
This test checks whether the blocking feature works, not how broad its coverage is. Adding the following rules to your adblock solution may fix the result:

											adblock.turtlecute.org##.adbox.banner_ads.adsbox
adblock.turtlecute.org##.textads
With these rules in place, a passing result proves your blocker supports cosmetic filtering.

  Ad Scripts Loading

ads.js
pagead.js
Why does the Ad Script Loading test fail?

Same as the cosmetic test. If an ad script load test fails, it usually means this site is not covered by your blocker's filter lists, especially for blocking ad-related scripts like the fake ads.js
This does not indicate a general failure of ad script blocking. To check, visit a popular website known for its abundance of ad scripts: chances are you won't encounter any unblocked ones.
This test evaluates whether ad script blocking works, not its scope or effectiveness. To potentially fix the result, add the following rules to your adblock solution:

/pagead.js$domain=adblock.turtlecute.org
/widget/ads.
With these rules in place, a passing result proves your blocker supports ad script blocking.

What this ad blocker test checks

Three independent checks, scored together. No real ads or trackers are ever loaded.

Cosmetic filters

Two ad-shaped elements, one static and one added after load. The test measures whether your blocker removes or hides them.

Ad script loading

Two decoy scripts named ads.js and pagead.js. The test measures whether they were stopped from running.

Host and DNS blocking

128 hostnames across 30 ad, analytics, tracking and telemetry services. This is the only category a DNS filter can score on.

The 128 hosts, by category

Testing a DNS filter: Pi-hole, AdGuard Home, NextDNS, AdGuard DNS or Control D

A DNS filter blocks domains, so it can only pass the Host category. Here is the score to expect and how to read it.

What a good Pi-hole score looks like

A DNS filter on its own answers 128 of the 132 checks, so roughly 40–60% is the correct result, not a failure. The four cosmetic and script checks need a browser extension, which no DNS resolver can do. If you want to know whether your Pi-hole is working, look at the Host category, not the total.

Turn the block page off first

Pi-hole, AdGuard Home and NextDNS can answer a blocked domain with their own block page instead of dropping the request. To this test that looks like a successful connection, so your score drops even though the domain was blocked. Set the blocking mode to NXDOMAIN or NULL and re-run.

Getting to a full score

Pair the DNS filter with a browser extension such as uBlock Origin or the AdGuard extension. The DNS layer covers the hosts, the extension covers the cosmetic filters and the ad scripts. That combination is what scores green here.

Written Pi-hole, pi-hole or pihole — all the same thing, and the same advice applies to AdGuard Home, AdGuard DNS, Control D, Quad9 and any other resolver-level blocker. The test cannot see per-client rules, regex filters or allowlists — only whether the 128 hostnames above resolved.

Ad blocker test FAQ

Answers about how the test works, what your score means, and how to improve it.

How does the ad blocker test work?
One click runs three independent checks and scores how much of your setup blocks ads and trackers. No real ads or trackers are ever loaded during the test.
My ad blocker is configured correctly but the test does not work. Why?
Your configuration may not be compatible with the type of checks this tool performs. This does not mean your ad blocker is not providing protection. JavaScript limitations or missing features may prevent the test from accurately determining blocked connections. You will still receive an estimate of the percentage of connections blocked.
How can I get 100% on the ad blocker test?
A green score indicates satisfactory protection and there is no need to aim for 100%. However, if you want a perfect score, you can use the Turtlecute Host List which covers most of the host tests on the site (excluding cosmetic filters and script loading).
What do the three test categories check?
  • Cosmetic Filter: whether empty ad boxes, cookie banners and similar elements are hidden or removed.
  • Script Loading: whether ad scripts and trackers are stopped from loading.
  • Host: whether domains that serve trackers, analytics or ads are blocked.
What do “Blocked” and “Not Blocked” mean?
  Blocked
The connection to a host or script failed, or an ad box was removed, so your ad blocker caught it.
  Not Blocked
The connection went through, or the box stayed in place, so that item was not filtered by your setup.
How is my score calculated, and what do the colors mean?

When the tests finish you get a liquid-filled score ball. Points come from how many checks your setup blocks in each category, and the fill color shows your range:

0–30%: your ad blocker may not be enabled or configured
31–60%: okay, but you can do better
61%+: great, you're ready to surf

A browser extension should reach 90% or more. A DNS filter on its own tops out near 60%, because it cannot pass the cosmetic and script checks.

How do I know if I have an ad blocker, and which one?

Run the test. A score above 60% means something on your device is blocking ads — a browser extension, a browser with blocking built in, a VPN, or a DNS filter. To find out which one:

  • Chrome, Brave, Edge, Opera: open chrome://extensions (or edge://extensions) and look for uBlock Origin, AdGuard, AdBlock or Ghostery.
  • Firefox: open about:addons and check Extensions.
  • Safari: Settings → Extensions, on macOS and iOS both.
  • Brave and Opera also block ads with no extension installed, from Shields and the built-in blocker.

A DNS filter or a VPN-level blocker appears in none of those lists. If the test shows hosts blocked but the cosmetic and script checks failing, the blocking is happening at the network level — check your router, your Pi-hole, or your VPN app settings.

Are you looking for a page full of ads to test your blocker?

This is that page, with one difference: it never loads a real ad. The test uses ad-shaped decoy elements, two decoy scripts, and requests to real ad and tracker hostnames that never serve anything. You get a measurable result without funding an ad network or seeing a single advert.

To confirm your blocker on a genuinely ad-heavy site, open any large news site with your blocker off and then on. This page tells you whether blocking works; a real site tells you how broad its filter coverage is.

Which ad blockers and DNS filters do you recommend?

I use DNSFilter as my main DNS resolver, with NextDNS as a great alternative for home users. Pi-hole and AdGuard Home are the self-hosted equivalents if you would rather run it yourself. On top of that I run these combos per platform:

  • Windows: Brave + uBlock Origin
  • macOS: Brave + uBlock Origin
  • Android: Kiwi Browser + uBlock Origin
  • iOS: Brave with built-in ad blocking, or Safari + AdGuard extension

Filter lists I recommend:

What other ad blocker test tools do you recommend?

I built this project to quickly test my own short list of common hosts, with a clean design that anyone can use. Other good tools worth trying: