← All articles

How to Check if DNS Has Propagated (And Why It Takes So Long)

September 16, 2026 · 6 min read

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:

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:

  1. A day or two before a planned migration, lower the record's TTL to something short, like 300 seconds (5 minutes).
  2. 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.
  3. Make your actual change. Because the cached TTL is now short, resolvers will pick up the new value within minutes instead of hours.
  4. 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 →