DNS propagation: why changes take time

Why DNS changes don't take effect instantly, how long propagation takes, and what to do while you wait.

Time
5 min read
Difficulty
Beginner
Last updated
Updated
Share

You've made a DNS change: updated your A record, switched nameservers, or added an MX record. But the change doesn't seem to be working yet. Why? This is DNS propagation, and it's completely normal. This guide explains what it is and what to expect.

Why DNS changes aren't instant

DNS servers around the world don't pull updates in real time. Instead, they cache (store) DNS records for a set period of time: called the TTL (Time To Live), measured in seconds. Until the cached record expires, a DNS server will continue using the old value even if you've updated it.

For example, if your A record has a TTL of 3600 (one hour), DNS servers that have already looked up your domain will keep using the old IP address for up to one hour before checking for a new value.

Once the TTL expires, they fetch the updated record, and the change takes effect for that server.

Try it: watch a change spread

3,600 seconds (1 hour)

A normal setting. A server that cached the record just before your change keeps the old IP for up to one hour.

You have just changed your A record. 1 of 4 DNS servers now return the new IP.

  • Your ISP's DNS serverOld IP (cached)Cached copy expires in 1 hour
  • A colleague's DNS serverOld IP (cached)Cached copy expires in 36 minutes
  • A visitor's DNS serverNew IPNothing cached, so it looked the record up fresh
  • A DNS server elsewhereOld IP (cached)Cached copy expires in 18 minutes

Each step is a quarter of the TTL. How old each server’s cached copy is varies; these four are examples.

Read this as text

You change a record. Each DNS server that already had the record cached keeps handing out the old value until its TTL runs out, then fetches the new one. A server with nothing cached looks the record up fresh and sees the change straight away.

So with a TTL of 3600 seconds, a server that cached the record just before your change keeps the old IP for up to one hour. One that cached it earlier switches sooner. After one full TTL, every server has the new record. With a TTL of 300 seconds that takes 5 minutes; with 86400 seconds it can take 24 hours.

How long does propagation take?

Change typeWhat controls the waitUsual guidance
DNS record update (A, CNAME, MX, TXT)The record's TTL: each DNS server keeps its cached copy until the TTL runs outMinutes with a low TTL; up to the full TTL otherwise
Nameserver changeYour registrar updating the delegation, plus the nameserver TTL: commonly a dayAllow a day; registrars usually quote 24 to 48 hours

Providers give slightly different numbers. Cloudflare's setup guide says to allow up to 24 hours while your registrar updates your nameservers. Namecheap says a nameserver change may take 24 to 48 hours, and its article goes on to explain why it can stretch to 72. Either way, the TTL is the best guide you have: a DNS server can't see your change until its cached copy expires.

Nameserver changes take longer than record changes because they change the authoritative delegation for your whole domain, and the nameserver TTL is usually much higher than a record's.

Why some people see the change and others don't

Different DNS servers cache records for different periods. Your ISP's DNS server might have cached the old record. Your visitor's ISP might be checking fresh. This is why you might see the new site immediately while a colleague still sees the old one.

This inconsistency is normal and temporary. It resolves itself once all caches expire.

How to check propagation progress

You can check how far a DNS change has spread using free tools:

  • whatsmydns.net: Shows what DNS servers around the world are returning for your domain. Cloudflare's own setup guide points people here to confirm a nameserver change.
  • Dig (DNS lookup): Google's hosted lookup tool. Enter your domain, pick a record type, and see the current answer.

In either tool you give your domain and the record type (A, MX, TXT, etc.) and see what DNS servers currently return. One caveat, straight from Cloudflare's docs: most of these tools cache results themselves, so they can lag slightly behind the real picture.

How to speed up propagation

You can't make propagation happen faster once a change is made, but you can reduce the TTL before making the change:

Lower the TTL of the record you're about to change to 300 seconds (5 minutes). Do this at least one full TTL cycle before you make the actual change. For example, if the current TTL is 3600 seconds (1 hour), lower it an hour before you plan to make the change.

Make the DNS change once the low TTL has had time to propagate.

After the change has propagated, restore the TTL to 3600 (1 hour) or 86400 (24 hours) for normal operation.

We often do this automatically before DNS migrations.

Flushing your local DNS cache

Sometimes your own computer has cached the old DNS record. You can flush your local DNS cache to force it to look up fresh records:

Open Command Prompt and run: ipconfig /flushdns

Microsoft describes this as flushing and resetting the contents of the DNS client resolver cache.

After flushing, try visiting your site in an incognito/private browser window to test with a fresh lookup.

Common questions

It's been 48 hours and the change still hasn't propagated. What should I do?

After 48 hours, if the change still isn't reflecting, there may be an error in the DNS record itself. Check that the record was saved correctly in your DNS management panel. If everything looks right, contact us. It could be a more unusual issue.

My site is offline during propagation. Is that normal?

Brief inconsistency is normal. But if your site is completely offline for more than a few hours, there may be an issue with the DNS record values themselves, not just propagation. Verify the record values are correct.

What is TTL and can I change it?

TTL (Time To Live) is the number of seconds a DNS record is cached by other servers. You can usually change it in your DNS management panel. Lower TTL = changes take effect sooner but more DNS queries. Higher TTL = faster lookups but changes take longer to go into effect. Some providers set the TTL for you on certain records: Cloudflare fixes proxied records at Auto, which is 300 seconds.

Does propagation affect my email?

Yes. If you change MX records or nameservers, email delivery can be disrupted during propagation. Plan email-related DNS changes carefully, especially if changing nameservers, and verify email is working after the change.

Learn more

Was this page helpful?

Go deeper on chykalophia.com

Need a hand?

Stuck? We'll help.

Email us with your website address and a screenshot if you can, and we’ll take it from there.

Last updated