diagram of DNS hierarchy showing root servers, TLD servers, authoritative nameservers, and recursive resolvers with cache TTL indicators
Web Diagnostics

DNS Propagation Explained — How Long It Takes and Why

Sunny Pal Singh · · 6 min read

When you update a DNS record — changing an A record for a migration, updating nameservers for a new host, or pointing a subdomain at a new IP — the change doesn't take effect immediately worldwide. DNS propagation is the time it takes for the new record to become visible to resolvers globally. The "24–48 hours" figure is a worst case, not a rule: understanding TTL and how resolver caches work tells you exactly how long any specific change will take.

The internet's DNS system is a distributed database. When you look up a domain, your operating system queries a recursive resolver (typically operated by your ISP, Google, Cloudflare, or another public provider). That resolver caches the answer for a period defined by the record's TTL (Time to Live). While the cached answer is valid, the resolver returns it without querying the authoritative nameserver. This is why DNS changes don't take effect instantaneously: resolvers worldwide continue serving the old answer until their cached TTL expires.

Key Takeaways

  • DNS propagation is not a technical process — it's just cached data expiring at different rates in different resolvers worldwide
  • TTL (Time to Live) directly controls propagation speed: a 300-second TTL means changes propagate in ~5 minutes; a 86400-second TTL means up to 24 hours
  • Lower your TTL before a planned migration (1 hour or less), then restore it after the change is stable
  • Nameserver changes always take longer than A record changes — the registrar's nameserver TTL is typically 24–48 hours and outside your control
  • Use the DNS Lookup tool to query multiple resolvers and confirm which ones have picked up your new record

The DNS Resolution Chain

When a browser needs to resolve www.example.com, the process:

  1. Browser checks its local cache. If the record is cached and not expired, it uses it.
  2. OS checks its resolver cache (and /etc/hosts on Linux/Mac). Same logic.
  3. Query goes to the configured recursive resolver (your ISP, 8.8.8.8, 1.1.1.1, etc.).
  4. If the resolver has a cached answer, it returns it — regardless of what the authoritative nameserver says right now.
  5. If not cached (or TTL expired), the resolver follows the chain: root servers → TLD servers (.com, .net) → authoritative nameserver for example.com.
  6. The authoritative nameserver returns the current record with its TTL. The resolver caches it for that TTL duration.

Step 4 is the propagation issue. Different resolvers have different cache states. A resolver that cached your old A record 1 hour ago (with a 24-hour TTL) won't fetch the new record for another 23 hours — regardless of when you made the change.

How TTL Controls Propagation Speed

TTL valuePropagation windowWhen to use
60–300 seconds (1–5 min) Near-instant globally Active migration period; pre-change lowering
3600 seconds (1 hour) ~1 hour maximum Production default for most records
21600 seconds (6 hours) ~6 hours maximum Stable records that change rarely
86400 seconds (24 hours) Up to 24 hours Highly stable records (MX, SPF)

The key insight: propagation time = the remaining TTL on the cached old record in each resolver at the moment you make the change. If your record has a 3600-second TTL and a resolver cached it 30 minutes ago, it will serve the old answer for another 30 minutes.

This means the propagation time is bounded by the TTL in effect before you make the change — not the TTL you set on the new record. Setting your new record's TTL to 60 seconds doesn't help if the old record's TTL was 86400.

The Pre-Migration TTL Reduction Strategy

The standard approach for zero-downtime DNS migrations:

  1. 24–48 hours before the migration: Lower the TTL on the records you'll be changing to 300 seconds (5 minutes) or less. Wait for the old TTL to expire everywhere.
  2. At migration time: Make the DNS change. Because the TTL is now 300 seconds, most resolvers pick up the new record within 5 minutes.
  3. After the migration is stable: Raise the TTL back to a production value (3600 or higher).

Skipping step 1 — going straight to a change with a high TTL — means you might have users hitting the old server for up to 24 hours after the migration.

Nameserver Changes vs Record Changes

A critical distinction: updating an A record at your existing nameserver is different from changing nameservers entirely.

A record changes (same nameserver): Propagation is controlled entirely by your record's TTL. With a TTL of 300 seconds, changes propagate globally in minutes.

Nameserver changes (pointing the domain at a new DNS provider): The nameserver records (NS records) are stored at the TLD registry (.com, .net, etc.), not at your nameserver. Their TTL is typically 24–48 hours and is set by the registry — you can't change it. Even if your new nameserver has all records ready instantly, it takes 24–48 hours for most resolvers to see the new nameservers, because they query the TLD registry for NS records.

This is why "it can take up to 48 hours" is the common advice — it applies specifically to nameserver migrations, not to simple record changes.

How to Check Propagation Status

During a migration, you want to know which resolvers have picked up the new record and which are still returning the old one. Options:

Command line (dig). Specify a resolver explicitly to check what it returns:

dig @8.8.8.8 example.com A     # Google's resolver
dig @1.1.1.1 example.com A     # Cloudflare's resolver
dig @208.67.222.222 example.com A  # OpenDNS resolver

If these return different IP addresses, propagation is still in progress — different resolvers are serving different answers.

ByteWaveNetwork DNS Lookup. Queries the authoritative nameservers directly and returns the current record values — bypassing resolver caches. Useful to confirm your new record is live at the authoritative source before propagation completes.

Global propagation checkers. Services like dnschecker.org query resolvers in multiple countries and report whether each sees the old or new value — useful for confirming global propagation completion.

Query DNS Records Directly

Free, no signup. The DNS Lookup tool queries authoritative nameservers for any record type (A, AAAA, MX, TXT, NS, CNAME) and shows current values with TTLs.

Try DNS Lookup Free →
SP

Sunny Pal Singh

Fellow · Technical Director — AI Infrastructure, Cloud Orchestration & Network Automation

Sunny is a Fellow and Technical Director specialising in AI infrastructure, cloud orchestration, and network automation. With hands-on depth across AWS, Azure, GCP, Red Hat OpenStack, and OpenShift, he leads high-performing teams of architects and engineers building transformative solutions at scale. He built ByteWaveNetwork to bring the same engineering rigour to everyday web tooling.

Affiliate disclosure: Some links on this page may be affiliate links. We only mention tools we've personally used and have an honest opinion about. Affiliate revenue helps keep ByteWaveNetwork's tools free and maintained. We are not paid by any of the tools compared in this article for favorable coverage.

Choose design