Query the same hostname through four major public DNS-over-HTTPS resolvers — Cloudflare, Google, Quad9, AdGuard — and compare answers side-by-side. Divergent results reveal filtering, censorship, or hijacking on at least one path. All requests happen directly from your browser to each provider.
0.0.0.0 or NXDOMAIN → AdGuard is filtering the name as ads or tracking.Detecting which resolver your operating system uses when an application makes a normal lookup requires a logging DNS server on the receiving end — something a pure-browser page cannot provide. After running the comparison above, the next step is a server-backed test:
Those services trigger real DNS lookups from your OS to randomized subdomains they control, then show which resolver IPs asked.
What does this tool actually test?
The same hostname is sent through four public DNS-over-HTTPS resolvers (Cloudflare, Google, Quad9, AdGuard) directly from your browser. Side-by-side answers tell you whether they all see the same DNS world or something on a path is rewriting answers.
Is this a true DNS leak test?
Not the OS-level kind. The OS-level test needs a logging DNS server. This page tests the next-most-useful thing: are public DoH resolvers consistent for the names you care about, and is anything filtering or hijacking those names? After running it, use a server-backed test for the OS-level check.
Does FunWithText see what I query?
No. The browser talks directly over HTTPS to each DoH endpoint. The DoH provider necessarily sees the query — that is what DNS-over-HTTPS is — but FunWithText is not in the path.
Why does one provider answer with NXDOMAIN or 0.0.0.0?
That provider is filtering. Quad9 blocks malware and phishing. AdGuard blocks ads and trackers. A divergent NXDOMAIN or 0.0.0.0 is almost always a blocklist hit, not an outage.