Ad Blocker Test
Check in one click whether your browser, extension, VPN, or DNS filter actually blocks ads, trackers, and analytics scripts.
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 GitHubCosmetic Filter
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##.textadsWith these rules in place, a passing result proves your blocker supports cosmetic filtering.Ad Scripts Loading
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
- Ad networks 20 hosts Amazon, Google Ads, Doubleclick.net, Adcolony, Media.net
- Analytics and session recording 30 hosts Google Analytics, Hotjar, MouseFlow, FreshWorks, Luckyorange, Stats WP Plugin
- Error and crash reporting 6 hosts Bugsnag, Sentry
- Social network trackers 19 hosts Facebook, Twitter, LinkedIn, Pinterest, Reddit, YouTube, TikTok
- Mixed ad and tracking networks 19 hosts Yahoo, Yandex, Unity
- Device maker telemetry 34 hosts Realme, Xiaomi, Oppo, Huawei, OnePlus, Samsung, Apple
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?
My ad blocker is configured correctly but the test does not work. Why?
How can I get 100% on the ad blocker test?
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?
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:
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(oredge://extensions) and look for uBlock Origin, AdGuard, AdBlock or Ghostery. - Firefox: open
about:addonsand 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:
- HaGeZi Ultimate blocklists
- uBlock filters (built in)
- AdGuard filters
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: