DNS Propagation Checker
See what a range of public resolvers return for a record and understand any lag between them.
About the dns propagation checker
DNS propagation is not a broadcast: there is no moment when a change goes out to every resolver on the internet at once. Instead, each resolver independently caches the record it last fetched and only asks again once that record's TTL has expired. This tool queries a set of public resolvers around the world and shows you what each one currently returns.
If you just changed a record, seeing different values from different resolvers is normal and expected, not a sign that anything is broken. A resolver that queried the domain five minutes before your change cached the old value and will keep serving it until the TTL runs out, while a resolver that has never seen the record will fetch the new value immediately.
Two patterns in the results are worth separating from ordinary caching lag. Resolvers returning genuinely different values for a record you have not just changed points at inconsistent authoritative servers rather than at caching. And a name that resolves at some resolvers and returns NXDOMAIN at others is a different fault again, usually a delegation or DNSSEC problem, because non-existence is an answer that should not depend on who is asking.
The remaining TTL shown next to a stale answer tells you how much longer that particular resolver will keep serving the old value. Once that countdown reaches zero, the resolver's next query goes to the authoritative server and picks up the change, so waiting past the original TTL is normally all that is required. For a planned change such as a mail or hosting migration, lowering the TTL a day or more in advance is the practical way to shorten this window everywhere at once, since every resolver that refreshes after the TTL change will cache the new, shorter duration.
Common questions
- How long does DNS propagation take?
- Usually up to the old record's TTL, commonly between a few minutes and 24 hours. It is not a global broadcast; each resolver refreshes independently once its cached copy expires.
- Why is one resolver still showing the old value?
- It cached the previous answer and its TTL has not expired yet. The tool shows the remaining TTL for each stale answer so you know how long the wait will be.
- Can I speed it up?
- Lower the TTL to a short value, such as 300 seconds, at least a day before making the change, then raise it again afterwards once the new value has propagated.
What this tool checks (6 rules)
- dns.propagation.partial-nxdomain — Some resolvers say the domain does not exist
- dns.propagation.probe-unavailable — No resolver could be asked what it is serving
- dns.propagation.resolver-disagreement — Public resolvers are serving different answers
- dns.propagation.resolvers-unreachable — Some resolvers did not answer and were not counted
- dns.propagation.stale-answers — A recent change has not reached every resolver yet
- dns.propagation.ttl-too-high-for-migration — The record's TTL makes a change slow to take effect