DNS propagation

Query a domain across 10 public resolvers (Cloudflare, Google, Quad9, OpenDNS, AdGuard, Verisign, Yandex, Level3, CleanBrowsing, ControlD) in parallel and see whether a zone change has landed everywhere.

Queries 10 public resolvers (Cloudflare, Google, Quad9, OpenDNS, AdGuard, Verisign, Yandex, Level3, CleanBrowsing, ControlD) in parallel over UDP:53 and reports what each one sees. Useful for confirming a zone change has landed everywhere before you cut over a DNS-driven migration.

How the DNS propagation check works

The tool asks the same question to 10 public resolvers at once: Cloudflare, Google, Quad9, OpenDNS, AdGuard, Verisign, Yandex, Level3, CleanBrowsing and ControlD. When they all return the same value, your change is visible to the users of all of them. When they disagree, some still serve the old answer from their cache.

There is no single moment when DNS propagation finishes. Each resolver drops the old answer when the TTL it received with it expires, so the real waiting time is the TTL your record had before the change, not a fixed 24 or 48 hours.

Speeding up the next change

Lower the TTL of the record, for example to 300 seconds, a day before you change it, wait for the old TTL to expire, make the change, then raise the TTL again. Resolvers will then refresh within five minutes instead of hours.

Frequently asked questions

How long does DNS propagation take?

As long as the TTL of the old record. A record with a TTL of 3600 is fully replaced within an hour of the change. Values of 24 to 48 hours mostly apply to name server (NS) changes at the registry, where TTLs are long.

Why do some resolvers show the new value and others the old one?

Each resolver cached the old answer at a different moment, so each one expires it at a different moment. Until they all have, results disagree. That is normal and resolves itself.

Can I force a resolver to refresh?

Some public resolvers offer a cache purge page, such as Google Public DNS and Cloudflare 1.1.1.1. For the others, you have to wait for the TTL to expire.