[ Technical ]

DNS Propagation: How It Actually Works

"Wait 24–48 hours for DNS to propagate" is not wrong, but it is incomplete. Here is what is actually happening and how to reduce the wait.

DNS Propagation: How It Actually Works

Every DNS tutorial says "wait 24–48 hours." That advice is not wrong, but it treats DNS propagation as a black box. Understanding what's actually happening lets you predict delays more accurately and reduce them where it matters.

The DNS Hierarchy

DNS is a distributed tree structure:

  1. Root servers — 13 logical root nameserver clusters (operated by ICANN, Verisign, and others) that know where to find TLD servers
  2. TLD nameservers — servers authoritative for a specific TLD (.com, .org, etc.), operated by the registry
  3. Authoritative nameservers — the nameservers you configure at your registrar; these hold your actual DNS records
  4. Recursive resolvers — the servers your ISP or browser uses to perform lookups (Google's 8.8.8.8, Cloudflare's 1.1.1.1, etc.)

A DNS query travels: recursive resolver → root → TLD → authoritative nameserver → answer returned and cached.

What TTL Controls

TTL (Time to Live) is a value attached to every DNS record. It tells resolvers how long to cache that record before re-querying the authoritative nameserver.

example.com.  3600  IN  A  93.184.216.34
             ^^^^
             TTL = 3600 seconds = 1 hour

When you change a DNS record, resolvers that have the old record cached will keep serving it until their cached TTL expires. This is the "propagation" delay — not a global synchronisation process, but the natural expiry of cached records across thousands of independent resolvers.

Implication: if your TTL was 86400 (24 hours) when you made a change, some resolvers may serve the old record for up to 24 hours. If your TTL was 300 (5 minutes), the maximum delay is 5 minutes.

The Right Way to Plan a DNS Change

For any planned change (migrating hosting, changing nameservers, updating MX records):

  1. Lower the TTL in advance — set it to 300–600 seconds at least 24 hours before you make the change. This requires waiting for the old high TTL to expire first.
  2. Make the change — update the record
  3. Verify propagation — use a tool like dnschecker.org to check from multiple geographic locations
  4. Raise TTL again — once the change is stable, restore a higher TTL for performance

Skipping step 1 is why migrations cause extended outages. You can't retroactively lower the TTL — you have to wait out whatever TTL was in place at the time of the change.

Nameserver Changes Are Slower

Changing nameservers (e.g. moving from one DNS host to another) involves the TLD registry. The registry must update its delegation records to point at your new nameservers. This is controlled by the registry's own TTL on the NS records, which is typically 24–48 hours and not under your control.

That is the legitimate source of the "24–48 hours" figure — it applies specifically to nameserver delegation changes, not to individual DNS record changes where you control the TTL.

What Propagation Looks Like in Practice

After a DNS change, different users may see different results depending on which resolver they're using and when its cache expires. This is normal. It is not a failure state.

Symptoms during propagation:

  • Some users see the old IP, some the new one
  • Email delivery to the old server continues briefly
  • HTTPS certificates may fail on connections reaching the wrong server

This is why zero-downtime migrations require running both the old and new server simultaneously during the propagation window.

Checking DNS from Multiple Locations

dnschecker.org and similar tools query your domain from dozens of resolvers globally and show which ones have picked up the new record. This is the practical way to know whether propagation is complete — not waiting a fixed time.

For domain availability checking specifically: RDAP checks bypass DNS and query the registry directly. BatchDomain's availability results reflect the registry's authoritative data, not a cached DNS lookup. This means you get accurate availability status immediately after a domain drops or is registered — no propagation lag.