What does this adblock test check?
It checks the two things an ad blocker does: stopping requests to ad and tracking servers, and hiding ad elements on the page. The 39 checks fall into five groups, and each group maps to a different filter list, so a low score in one group tells you exactly what to change.
| Group | Checks | Examples | Usually blocked by |
|---|---|---|---|
| Display ads | 8 | Google AdSense, Ad Manager, DoubleClick, Amazon, Criteo, Outbrain | EasyList or the blocker's default ad list |
| Analytics | 7 | Google Analytics, gtag.js, Microsoft Clarity, Yandex Metrica, Mixpanel | EasyPrivacy or a tracker list |
| Social trackers | 8 | Meta Pixel, TikTok Pixel, LinkedIn Insight, X, Pinterest, Snap, Reddit | EasyPrivacy or a tracker list |
| Error & session monitoring | 6 | Sentry, New Relic, Bugsnag, FullStory, LogRocket, Smartlook | Stricter privacy lists; often allowed by default |
| Cosmetic filtering | 10 | Boxes named #ad_banner, .ad-slot, ins.adsbygoogle | Element-hiding rules (extensions and Brave only) |
Every probe is a real script or pixel that sites load today. Each address returned a working file when we last checked, so a failure means something stopped it, not a dead link. The bait boxes use names copied from EasyList's generic hiding rules.
How the ad blocker test works
The page asks your browser to fetch each ad or tracker file and watches whether the request succeeds or fails. Blockers make blocked requests fail, so a failure counts as blocked. Nothing fetched is ever run: we use fetch() in no-cors mode or an image request, never a <script> tag.
- Network checks. Each URL is requested once per run, bypassing the cache, with no cookies and no referrer. The download is cancelled as soon as the server answers.
- Timeouts. If a server gives no reply within 8 seconds the line shows Blocked\*. DNS sinkholes sometimes behave this way; a very slow connection can too, so run the test again if you see many.
- Cosmetic checks. Ten empty boxes with ad-like names sit in the page, clipped so you never see them. If your blocker hides or removes a box, it counts as hidden.
- Sanity check. Before anything else the test loads a small file from this site. If that fails, you're offline and the test stops rather than report a fake perfect score.
Want to watch it happen? Open the Network tab in Chrome's developer tools while the test runs: extension blocks show as net::ERR_BLOCKED_BY_CLIENT, DNS blocks as a DNS or connection error.
Is my ad blocker working? How to read your score
Your ad blocker is working if the Display ads group is fully or almost fully blocked. That's the core job. The other groups show how far it goes on privacy, and there is no single "best adblock score" because stricter blocking also breaks more sites.
| Score | Label | What it usually means |
|---|---|---|
| 90–100% | Strong blocking | Ads, trackers and ad boxes are handled. Typical of uBlock Origin-style blockers with privacy lists on. |
| 70–89% | Good blocking | Ads blocked; some analytics, monitoring or cosmetic checks slip through. |
| 40–69% | Partial blocking | Often a DNS blocker or a network-only mode: requests blocked, ad boxes visible. |
| 1–39% | Weak blocking | Only a few lists are active, or the blocker is only partly allowed on this site. |
| 0% | No blocking detected | No blocker is running here, it's paused, or it's disabled in this profile or window. |
Read the group counts before the total: 70% with every ad blocked is a very different setup from 70% with ads getting through. The diagnosis under the score reads the pattern for you.
Extension, DNS or built-in blocker: what each can catch
Where a blocker sits decides what it can see. Browser extensions and built-in blockers see full URLs and the page itself, so they can block single files and hide elements. DNS blockers only see domain names, so they block whole domains and can't hide anything on a page.
| Blocker type | Examples | Network checks | Cosmetic checks |
|---|---|---|---|
| Browser extension (Manifest V3) | uBlock Origin Lite, AdGuard, Adblock Plus | Yes, by URL rules | Depends on mode; uBO Lite needs Complete for generic hiding |
| Browser with built-in blocker | Brave Shields | Yes (third-party in Standard, all in Aggressive) | Third-party only in Standard; Aggressive hides first-party boxes too |
| DNS blocker | Pi-hole, NextDNS, AdGuard DNS | Yes, whole domains only | No, it can't see the page |
| Chrome's built-in ad filter | Intrusive ads setting | Only on sites that fail the Better Ads Standards | No |
Manifest V3 extensions block with rules they hand to Chrome through the declarativeNetRequest permission, so the extension never reads your traffic. Choosing one? See our ad blocker picks and Adblock Plus vs uBlock Origin Lite.
How to run a DNS adblock test (Pi-hole, NextDNS, AdGuard DNS)
Run this page with browser blockers turned off, so only DNS filtering is left. The network groups then show which domains your DNS lists cover; the cosmetic group will show every box as visible, which is normal.
- Pause browser blockers: disable ad-blocking extensions, or set Brave Shields to off for this site.
- Make sure the browser uses your DNS filter. Chrome's Use secure DNS setting can send lookups to another provider and skip Pi-hole; check it under Settings > Privacy and security > Security.
- Flush cached lookups: restart the browser, or clear the OS DNS cache, so old answers don't mask new blocks.
- Press Start. For a pihole adblock test, keep the Pi-hole query log open; each blocked domain from this page should appear there.
- Add lists for anything marked Not blocked, update gravity, then press Run again.
You can also test a single domain from a terminal. A blocked domain on a default Pi-hole answers 0.0.0.0; other DNS blockers may answer with a block page address or no record at all.
nslookup pagead2.googlesyndication.com
# Blocked by Pi-hole (default mode):
# Address: 0.0.0.0
# Not blocked: a real public IP address Why is my ad blocker not working?
Most often the blocker is paused, allow-listed for the site, or missing the right filter list. Match your results to a pattern below.
- Everything is red. The extension may be off, not allowed in Incognito, or installed in a different Chrome profile. Check
chrome://extensions, or use our browser checker to confirm which browser and profile you're in. - Ads blocked, trackers not. Only an ad list is on. Enable EasyPrivacy or your blocker's tracking protection.
- Requests blocked, boxes visible. You're using a DNS blocker, uBlock Origin Lite in Basic or Optimal mode, or Brave in Standard mode. Switch modes if you want hiding.
- Filters out of date. Update the blocker's lists, or restart Chrome so a Manifest V3 extension reloads its rules.
- A work computer. Managed Chrome policies can disable extensions; check
chrome://policy. Our Chrome Flags Explorer covers the settings that are yours to change.
If you've outgrown your blocker, see our uBlock Origin alternatives for Chrome extensions that still work under Manifest V3.
Why YouTube ads get past most blockers
YouTube serves ads from the same domains as its videos, so a youtube ad blocker can't just block a domain. DNS blockers like Pi-hole can't stop YouTube ads without breaking video playback. Browser extensions handle them with page scripts and rules that YouTube changes often.
So a blocker that scores 100% here can still show a YouTube ad after YouTube changes its player, until the filter lists catch up. Keep the blocker's lists updated, and check our YouTube extension guide for tools that work on the site.
What makes a good website to test adblock?
A good adblock test site checks addresses that real sites use today, tells network blocking apart from element hiding, and explains what to fix. Fewer, live checks beat a long list of dead domains that fail whether or not you run a blocker.
- Live endpoints. A dead domain fails for everyone and inflates the score. This page only probes files that returned a working response when we checked them.
- No script execution. A test that loads ad scripts with
<script>tags runs them on your machine if they get through. This one never executes a fetched file. - Click to start. Probes that aren't blocked reach real companies, so nothing should run until you ask.
Other adblock test pages take different approaches. The d3ward adblock test, for example, checks a long list of hostnames grouped by company. Whichever website to test adblock you use, stick with it when comparing settings. For other browser privacy checks, run our WebRTC leak test too; an ad blocker doesn't stop WebRTC from exposing your IP address.
What this test can't tell you
It measures coverage of common ad and tracker addresses, not overall privacy. Passing doesn't mean no site can track you.
- First-party tracking. Sites can proxy analytics through their own domain. No list-based test covers every case.
- Script-only rules. Some filters only match script-type requests. This test uses fetch and image requests so nothing runs, so a rare rule of that kind can show as Not blocked here but still work on a real site.
- Anti-adblock walls and pop-ups. These depend on each site's own code, so a general test page can't reproduce them.
For more ways to lock down Chrome, browse our security and privacy extensions.