How to Check if DNS Has Propagated (And Why It Takes So Long)
If you've just changed a DNS record — pointed a domain at a new server, updated an MX record, or migrated hosting providers — you've probably run into the term DNS propagation. It's one of the most misunderstood parts of DNS, so let's clear it up properly.
DNS propagation isn't really "propagation"
The name is a bit misleading. Nothing actually spreads or travels across the internet when you make a DNS change. What really happens is simpler: your new record is published instantly at your authoritative nameservers, but every resolver that queried the old record before your change has cached it locally, and will keep serving that cached answer until it expires.
That expiry is controlled by the record's TTL (Time To Live), measured in seconds. A TTL of 3600 means a resolver that cached your old answer one minute ago will keep serving it for up to 59 more minutes, even though your authoritative nameserver already has the new value.
Why it can take up to 48 hours
In practice you'll see advice to "wait up to 48 hours" for DNS changes. That number comes from a few compounding factors:
- High legacy TTLs. Some older DNS records were set with a TTL of 86400 seconds (24 hours) or more. If you didn't lower the TTL before making the change, every resolver that cached the old answer will hold onto it for the full duration.
- Thousands of independent resolvers. There's no single global DNS cache — every ISP, corporate network, and public resolver (Google, Cloudflare, etc.) maintains its own cache with its own expiry clock, so different users can see different answers at the same moment, entirely correctly.
- Registrar-level changes take longer. If you're changing nameservers themselves (not just a record under existing nameservers), the parent TLD zone also has to pick up the change, which is typically much slower than an ordinary record update.
How to check propagation properly
Querying just your own computer's DNS isn't a real propagation check — it only tells you what your local resolver has cached. A proper check queries several independent, geographically distributed resolvers and compares the answers.
That's exactly what DNSDecode's propagation checker does: it queries Cloudflare, Google, DNS.SB and AdGuard's public resolvers in parallel and flags any resolver whose answer doesn't match the consensus. A green dot means that resolver agrees with the majority; amber means it's still serving something different — usually a sign that resolver hasn't hit the TTL expiry yet.
Run a full domain scan first, then open the DNS Propagation section and pick the record type you changed (A, MX, TXT, whatever it was) to see exactly which resolvers have picked up the update.
Speeding up future changes
You can't do anything about a change you've already made and are waiting on — but you can make the next one faster:
- A day or two before a planned migration, lower the record's TTL to something short, like 300 seconds (5 minutes).
- Wait until the old TTL has fully expired everywhere (if it was 3600, wait at least an hour) so the short TTL is now what's cached.
- Make your actual change. Because the cached TTL is now short, resolvers will pick up the new value within minutes instead of hours.
- Once everything's stable, raise the TTL back up — very short TTLs mean more load on your nameservers and slightly slower lookups for every visitor, since more of them require a fresh query instead of a cached answer.
What "not propagated yet" often actually means
A surprisingly common cause of "it's not propagating" isn't propagation at all — it's a simple mistake in the record itself: a typo in the IP address, a record added to the wrong DNS zone, or a change made at the wrong DNS provider (for example, editing records at your registrar while your domain's real DNS is delegated to Cloudflare). Before assuming you just need to wait, run a DNS scan to confirm the authoritative nameservers themselves are already showing the record you expect — if the authoritative answer is wrong, no amount of waiting will fix it.
Want to see this analysed on a real domain?
Run a free DNS scan →