DNS

DNS propagation: why your changes take time to spread

4 min read · DNS · Check propagation →

You've updated your A record or switched nameservers. You refresh your browser and… nothing has changed. Or worse — some people can see the new site and some still see the old one. This is DNS propagation, and it's one of the most confusing parts of managing a domain.

How DNS works (briefly)

When someone types your domain into their browser, their computer asks a DNS resolver (usually provided by their ISP, or a public one like Google's 8.8.8.8) for the IP address of your domain. That resolver either has the answer cached from a previous lookup, or it goes and fetches it from your authoritative nameservers.

The key word is cached. Resolvers don't fetch the record fresh every time — they store it for a period defined by the TTL (Time To Live) value in your DNS record. Until that cache expires, visitors using that resolver will still get the old answer.

What is TTL?

TTL is a number (in seconds) that tells resolvers how long they should cache a DNS record before checking for an updated value. Common values:

If your A record has a TTL of 86400 and a resolver cached it 23 hours ago, it will use the old value for another hour before re-checking. This is why "DNS propagation" can take up to 48 hours — you're waiting for every resolver on the internet to expire their individual caches.

How to speed up propagation before a migration

The trick is to lower your TTL before you make the change. Here's the standard process for a domain migration:

  1. 48 hours before: Lower your TTL to 300 (5 minutes)
  2. Wait 48 hours for the new short TTL to propagate everywhere
  3. Make your change — update the A record or switch nameservers
  4. Wait and verify — at 300s TTL, most users will see the change within minutes
  5. After the migration — raise your TTL back to 3600 or 86400 for efficiency

💡 Lowering the TTL after making a change does nothing — resolvers have already cached the old value for the original TTL duration. Always lower TTL 24–48 hours before your planned change.

Nameserver changes take longer

Changing your domain's nameservers (the NS records at the registry level) takes longer than updating individual records within your zone. This is because:

For nameserver changes, plan for up to 48 hours of mixed propagation where some users see the old site and some see the new one.

Why different resolvers show different answers

Different resolvers cache independently. Google's 8.8.8.8 might have cached your old record 2 hours ago, while Cloudflare's 1.1.1.1 checked 10 minutes ago and has the new answer. This creates the situation where "it works for me but not for my client."

Use Fred's propagation checker to query multiple resolvers simultaneously and see exactly where your change has and hasn't reached yet.

When propagation never seems to finish

If your change isn't showing after 48 hours, check these common culprits: