DNS

DNS Resolver Comparison Tool

Run the same DNS query against Cloudflare, Google, Quad9, OpenDNS, and custom resolvers — then see whether they agree.

Multi-resolver compare

Run the same query against several public resolvers and diff the answers.

Defaults: Cloudflare, Google, Quad9, OpenDNS. Add comma-separated public IPs.

Results

Run a lookup to see structured results here.

Practical guide

How to compare DNS resolvers

Use this DNS resolver comparison tool to query several public resolvers at once and spot disagreement. It is the fastest way to confirm whether a record change has propagated, whether a resolver is caching a stale answer, or whether a problem is local to your network or global.

What this tool checks

The comparison sends the same DNS query — same name, same record type — to several public resolvers in parallel and lays their answers next to each other. Instead of trusting a single resolver, you see what Cloudflare, Google, Quad9, OpenDNS, and any custom resolver each return for the record, so you can tell at a glance whether the internet agrees on the answer.

When to use it

Reach for the comparison right after you change a record and want to watch it propagate, when a site works for some users but not others, or when you suspect a resolver is handing back a stale or filtered answer. Comparing a public resolver against your ISP or internal resolver quickly separates a local caching problem from a genuine zone problem. For the caching mechanics behind uneven propagation, see DNS TTL explained.

How to read the result

When every resolver returns the same value, the record is consistent and propagation is complete. When answers differ, the resolvers are at different points in their cache cycle — the ones still showing the old value will update once their cached copy expires. An empty answer on one resolver but data on another usually means that resolver has not yet fetched the record, not that the record is missing.

Common errors and what they mean

One resolver returns SERVFAIL, the rest answer. A transient upstream failure or a DNSSEC validation issue isolated to that resolver. All resolvers return SERVFAIL. The authoritative servers are unreachable or the zone's DNSSEC signing is broken — fix it at the source. All resolvers return NXDOMAIN. The name genuinely does not exist; check for a typo or a missing record. To tell these failure modes apart, read NXDOMAIN vs SERVFAIL.

Why resolvers disagree during propagation

Each resolver caches a record for the length of its TTL, and every resolver started its countdown at a different moment, so after a change they expire and refetch at different times. That staggering is exactly why a fresh change looks inconsistent across resolvers for a while. Lowering the TTL a day before a planned change shrinks the window in which resolvers disagree.

Example: comparing A records mid-propagation

Example input
example.com A — Cloudflare vs Google vs Quad9
Example result
Cloudflare 1.1.1.1 → 203.0.113.10
Google 8.8.8.8   → 203.0.113.10
Quad9 9.9.9.9    → 198.51.100.42

Quad9 still serves the old IP while Cloudflare and Google show the new one — the change has propagated to two of the three resolvers and Quad9 will catch up when its cache expires.

Related tools

Related guides

FAQ

What does the DNS resolver comparison tool do?
It runs the same DNS query against several public resolvers at once — Cloudflare 1.1.1.1, Google 8.8.8.8, Quad9, OpenDNS, and any custom resolver you add — and shows their answers side-by-side. That lets you see whether the resolvers agree on a record or whether a change has propagated unevenly across the internet.
Why do different DNS resolvers return different answers?
Each resolver maintains its own cache with its own TTL countdown, so after you change a record some resolvers still serve the old value until their cache expires. Resolvers can also sit in different geographic locations and receive different answers from geo-aware authoritative servers, or apply their own filtering (for example malware or content blocking). Disagreement usually means propagation is in progress, not that something is broken.
How do I know when a DNS change has fully propagated?
Run the comparison repeatedly after making a change. While propagation is in progress, some resolvers return the new value and others return the old one. When every resolver in the comparison returns the same new value, the change has rolled out to those resolvers. Full global propagation is bounded by the record's previous TTL, so lower the TTL before a planned change.
Which DNS resolvers can I compare?
The tool includes the major public resolvers — Cloudflare (1.1.1.1), Google (8.8.8.8), Quad9 (9.9.9.9), and OpenDNS — and lets you add a custom resolver by IP address. Comparing a public resolver against your own ISP or internal resolver is a fast way to confirm whether a problem is local to your network or global.
What does it mean when only one resolver returns SERVFAIL?
If a single resolver returns SERVFAIL while the others answer normally, that resolver likely hit a transient upstream failure or a DNSSEC validation problem that the others did not. If every resolver returns SERVFAIL, the issue is at the authoritative servers or with the zone's DNSSEC signing — not with any one resolver.
Is the resolver comparison tool free?
Yes. The comparison runs live through public resolvers, requires no signup, and stores no query history on the server. Enter a domain and record type and you get every resolver's answer immediately.

Last reviewed: 2026-06-02.