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
DNS TTL Explained
Why resolvers cache records for different lengths of time and how that drives uneven propagation.
Read guideNXDOMAIN vs SERVFAIL
When resolvers disagree on whether a name exists, here's how to tell which one is right.
Read guideDNS Records Explained
Reference for the record types this tool compares across resolvers.
Read guideFAQ
What does the DNS resolver comparison tool do?
Why do different DNS resolvers return different answers?
How do I know when a DNS change has fully propagated?
Which DNS resolvers can I compare?
What does it mean when only one resolver returns SERVFAIL?
Is the resolver comparison tool free?
Last reviewed: 2026-06-02.