DNS Propagation Delay – Why It Happens and How to Fix

Server & Cloud Intermediate 👁 13 views 📅 Jun 26, 2026

DNS changes take hours to spread. This article explains why and how to speed it up or wait it out.

Quick answer for advanced users

Reduce TTL on the DNS record to 300 seconds (5 minutes) at least 24 hours before making the change. After the change, set TTL back to your normal value. This preps the global cache to drop the old record quickly.

Why DNS propagation takes so long

You just updated an A record or changed nameservers, and now you're refreshing the browser like it's a slot machine. Nothing. Still the old IP. You're not alone – this is the single most frustrating part of managing DNS.

DNS propagation isn't a single action. It's a cascade. When you change a record at your DNS provider (like Cloudflare, AWS Route 53, or GoDaddy), the change happens instantly on their authoritative servers. But the internet doesn't check your DNS provider every time someone visits your site. Instead, ISPs and public resolvers like Google (8.8.8.8) or Cloudflare (1.1.1.1) cache the old record. They hold onto it based on the TTL (Time To Live) value you set. If your TTL was 86400 seconds (24 hours), those servers will serve the old IP for up to 24 hours before even asking for a fresh copy.

The real problem? You can't control other people's caches. You can only influence them by setting a low TTL before you make the change. If you already made the change with a high TTL, you're stuck waiting for those caches to expire naturally. Some ISPs also ignore TTL and hold records longer – that's just bad behavior, but it happens.

How to check if propagation is done

Don't trust your browser. It's probably caching the page itself. Use these tools to check from outside your network:

  1. Visit whatsmydns.net – it checks from multiple locations worldwide. Type your domain and see if the new record shows up in most places.
  2. Use the command line: Open a terminal (Command Prompt on Windows, Terminal on Mac/Linux) and run nslookup yourdomain.com 8.8.8.8. Replace 8.8.8.8 with a public DNS server like 1.1.1.1 or 9.9.9.9. If it shows your old IP, that resolver hasn't picked up the change yet.
  3. Use dig for more detail: dig yourdomain.com @8.8.8.8 shows the TTL left on the cached record. If TTL is 0, the record just expired and should be fresh soon.

Main fix: Wait it out (with smart checks)

There's no magic button to force propagation. But you can verify progress and avoid panic. Here's the step-by-step:

  1. Check your TTL before the change. If you planned ahead (you didn't), your TTL was low. If you already changed the record with a high TTL, skip to step 4.
  2. If you still have time before the change, lower the TTL. Go to your DNS provider, find the record you're about to change, and set TTL to 300 seconds (5 minutes). Save it. Wait 24 hours for this low TTL to spread. Then make the actual change. After the change, you can raise TTL back to 86400 or whatever you normally use.
  3. After the change, test from multiple resolvers. Use whatsmydns.net every hour. Don't refresh obsessively – it won't help.
  4. If the change is urgent and you didn't prep TTL: You can't change the past. Just check propagation every few hours. Most records update within 4-8 hours if TTL was moderate (like 3600 seconds). If it was 86400, expect up to 48 hours.
  5. Flush your own DNS cache. On Windows: ipconfig /flushdns. On Mac: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder. This clears your machine's cache but doesn't affect anyone else.

Alternative fixes if propagation is stuck

Sometimes a record just won't show up even after the expected time. Try these:

  • Check your DNS provider's status. They could have an outage. Visit their status page or search Twitter/X for their name + "dns down".
  • Verify the record is actually saved. Go back to your DNS control panel and double-check the record type and value. A typo in the IP or a missing trailing dot in a CNAME can cause the record to fail without an error.
  • Clear your local browser cache. Press Ctrl+Shift+Delete (Windows) or Cmd+Shift+Delete (Mac) and clear cached images and files. Then restart the browser.
  • Use a VPN or change your DNS resolver. If your ISP's resolver is stubborn, switch your computer to use Google DNS (8.8.8.8) or Cloudflare (1.1.1.1) temporarily. This bypasses your ISP's cache entirely. On Windows, go to Network Settings > Change adapter options > right-click your connection > Properties > Internet Protocol Version 4 (TCP/IPv4) > Properties > Use the following DNS server addresses. Enter 8.8.8.8 and 8.8.4.4.
  • If you changed nameservers: That's a bigger deal. Nameserver changes can take up to 72 hours because the parent zone (like .com or .net) holds a cache of your nameservers with a 48-hour TTL. You can't speed that up. Just wait.

Prevention tip for next time

The single best thing you can do: lower your TTL to 300 seconds (5 minutes) at least 24 hours before any planned change. Keep it low until the change propagates fully. Then raise it back. This turns what could be a 2-day wait into a 10-minute wait. I tell all my technicians to set their default TTL to 3600 (1 hour) for everyday use – it's a good balance between performance and flexibility. Only use 86400 for records that never change, like MX records for a stable email provider.

Also, keep a propagation checker bookmarked. I use whatsmydns.net but any global checker works. Check from at least 5 locations before declaring the change done. When you see the new IP in all of them, you're live.

Was this solution helpful?