DNS Propagation Checker

Query 15 public resolvers in parallel. See which caches have refreshed and which are still serving the old answer.

How this DNS propagation checker works

DNS doesn't propagate. Recursive resolvers cache. When you change a record at your registrar or DNS provider, the new value is live at the authoritative nameservers the moment you save it. Every resolver in front of those nameservers keeps serving its cached copy until the TTL on that cached answer counts down to zero. "Waiting for propagation" is really waiting for caches to expire.

Enter a domain and a record type and the tool queries 15 public resolvers in parallel (Google, Cloudflare, Quad9, OpenDNS, Yandex, Comodo, AdGuard, plus a Johannesburg resolver) and shows what each one currently returns. Divergent answers mean some caches still hold the old value. Matching answers across every resolver mean every cache we sampled has refreshed. Supported types: A, AAAA, MX, TXT, CNAME, NS, and SOA.

How long does propagation actually take?

Look at the TTL on the record before you changed it. That's your worst case for a single resolver. A TTL of 3600 means up to an hour. A TTL of 86400 means up to a day. The "24 to 48 hours" you see quoted everywhere is just a conservative ceiling that assumes someone published a one- or two-day TTL upstream and a few stubborn resolvers will sit on the cache for the full duration.

What to do: drop the TTL to 300 seconds a day or two before the change, let the low TTL itself cache out everywhere, then cut over. Once the new record is stable, put the TTL back up. Five-minute TTLs are fine for a maintenance window. They're wasteful as a steady state.

Why do resolvers disagree on my A record?

Often they're meant to. CDNs (Cloudflare, Akamai, Fastly), GeoDNS, and round-robin load balancing deliberately hand different IPs to different resolvers based on where the resolver sits or which PoP answered. Two resolvers on different continents seeing different A records isn't a propagation lag โ€” that's the whole point of the setup.

Our take: for A and AAAA on a CDN-fronted hostname, ignore the consistency percentage and look at the answers themselves. If every IP belongs to your CDN's address space, you're fine. For MX, TXT, NS, and SOA โ€” which shouldn't vary by geography โ€” disagreement is a real propagation signal.

Why is one resolver still wrong hours later?

Three common causes. First, anycast: the resolver IP you're querying is actually dozens of PoPs sharing one address, and only the PoP your packets landed on has the fresh answer. Test from another network and you may hit a different PoP holding the old one. Second, the resolver cached the record before your change with the old TTL and is honouring it to the second. Third, an intermediate forwarder โ€” corporate, ISP, captive portal โ€” is caching in front of the public resolver you think you're hitting.

Public resolvers don't honour cache-flush requests from random users. Wait it out, or query the authoritative nameservers directly with the DNS lookup tool to confirm the source of truth is correct.

Where to go next

For a single-resolver lookup with full DNSSEC types, use the DNS lookup tool. For what each record type does, see the DNS record types reference. Migrating nameservers? Run the check against NS and SOA โ€” the SOA serial is the cleanest signal that resolvers have picked up the new zone.

Frequently Asked Questions

Common questions about DNS propagation and how long DNS changes take to spread globally.

DNS propagation is the time it takes for a change you made to your website's settings to spread across the entire internet. When you update a record, computers around the world "remember" the old setting for a while to save time. They only check for the new setting once their internal timer (called TTL) runs out.

To keep the internet fast, your DNS settings are "cached" (stored) by internet providers. Each setting has a timer called a TTL (Time To Live). Until that timer hits zero, the provider will keep showing the old information. If you're planning a change, it's best to lower this timer to 300 seconds a day before you make the switch.

It usually takes between a few minutes and a couple of hours. Most modern systems update globally within an hour. However, some major changes (like moving your entire domain to a new provider) can take up to 48 hours to fully settle across the whole world.

Sometimes a specific test location might be temporarily busy or blocking automated checks. If you see an error in one or two spots but the rest of the map is green, your records are likely fine. Focus on the big global names like Google and Cloudflare for the most accurate picture.

NXDOMAIN is tech-speak for "this record doesn't exist". If you just added a new setting, it probably just hasn't reached that part of the world yet. If it's been more than a few hours, it might mean there's a typo in your setup or the domain itself has expired.

Yes! We've included a dedicated South Africa check (Cloudflare ZA). This confirms that your changes are visible to local South African internet users, who are often served from servers right here in Johannesburg or Cape Town.