DNS Propagation Checker
Free DNS propagation checker. Query a DNS record from 6 major public resolvers at once and compare the answers to see if a change has fully propagated.
Why DNS changes don't take effect everywhere at once
DNS relies heavily on caching for performance — every resolver that answers a query caches the result for as long as the record's TTL (time-to-live) specifies, so a change made at the authoritative nameserver doesn't reach every resolver worldwide instantly. Instead, each resolver keeps serving its own cached (now stale) answer until that specific cache entry expires and it re-queries the authoritative source. Because different resolvers cached the old value at different times, they naturally expire and pick up the new value at different times too — which is exactly why querying several major public resolvers directly, rather than just one, reveals the actual state of the rollout rather than one resolver's possibly-stale view of it.
Why this queries resolvers directly by IP, not through this server's own DNS setup
If this tool used its own server's configured DNS resolver for every check, it would only ever see one resolver's cached view — exactly the limitation a propagation checker is supposed to overcome. Querying Google, Cloudflare, Quad9, and the others by their well-known public IPs directly means each answer genuinely reflects that specific resolver's current cache state, not a single intermediary's. That's also the same technique real end users experience: someone on Google's public DNS (8.8.8.8) and someone on Cloudflare's (1.1.1.1) can legitimately see different answers for the same domain during a propagation window, and querying each resolver directly is what reproduces that reality accurately.
Interpreting disagreement and errors correctly
Resolvers disagreeing shortly after a DNS change is the expected, normal state during a propagation window — it resolves itself once every resolver's cached TTL naturally expires and each one re-queries the authoritative nameserver. A resolver returning an error like NXDOMAIN while others still return the old value is often a sign that resolver has already picked up a very recent record deletion that hasn't propagated to the others yet, not that something is broken. Neither disagreement nor a lone error is inherently alarming on its own — persistent disagreement well beyond the record's TTL, on the other hand, is worth investigating further.