You just updated your domain's A record to point to a new server. You hit refresh in your browser — and you're still seeing the old site. This is DNS propagation delay: the time it takes for your DNS change to spread across the internet's resolver network. This guide explains why propagation isn't instant, how to check if your changes have propagated, and how to troubleshoot when they haven't.
What Is DNS Propagation?
DNS propagation is the process by which updated DNS records spread from your authoritative nameserver to recursive resolvers worldwide. When you change a DNS record at your registrar or DNS host, you're updating the authoritative nameserver. But the internet doesn't query the authoritative nameserver for every single request — that would be impossibly slow. Instead, recursive resolvers (run by ISPs, Google, Cloudflare, etc.) cache DNS records and serve them to users. Your change only becomes "live" for a user when their resolver's cached copy expires and it fetches the new record.
Key insight: DNS changes don't "propagate" from your nameserver outward. They sit on the authoritative nameserver, and resolvers pick them up when their cached copy (the TTL) expires. This is why some users see the new IP immediately (their resolver didn't have it cached) while others wait hours.
🔍 Check if your DNS has propagated right now: Our free DNS Record Lookup queries Google Public DNS (8.8.8.8) directly — bypasses your local cache and shows what a major public resolver sees. Query any record type (A, AAAA, CNAME, MX, TXT) instantly.
How DNS Propagation Actually Works
You update the A record at your DNS host. Authoritative nameserver now has the new IP.
Recursive resolvers still serve the old IP from cache until their cached entry expires.
Resolver queries the authoritative nameserver, gets the new IP, caches it for the next TTL cycle.
Every resolver worldwide has either fetched the new record or will on next request. Propagation complete.
Understanding TTL (Time to Live)
TTL is the single most important factor in DNS propagation speed. It tells every resolver "cache this record for X seconds before checking for updates." A record with TTL 3600 (1 hour) means a resolver that queried it 10 minutes ago will keep serving the old value for another 50 minutes — no matter what you do.
| TTL Value | Typical Use Case | Worst-Case Propagation |
|---|---|---|
60–300 (1–5 min) |
Active DNS migration, failover, CDN switching | ~5 minutes |
300–3600 (5 min–1 hr) |
Standard web hosting, most production domains | ~1 hour |
3600–86400 (1–24 hr) |
Legacy config, static infrastructure, email MX | Up to 24 hours |
86400+ (> 24 hr) |
NS records, SOA records | 24–72 hours |
💡 Pro tip: Before making a DNS change, lower the TTL to 300 (5 minutes) at least TTL-seconds in advance. If the current TTL is 3600, lower it an hour before you make the actual record change. After the change is confirmed working, raise TTL back to normal (3600–86400) to reduce query load. Use our DNS Record Lookup to check your current TTL.
Method 1: Check Propagation With Our DNS Lookup Tool
Recommended DNS Record Lookup
The fastest way to check if your DNS has propagated: use our DNS Record Lookup tool. It queries Google Public DNS (8.8.8.8) directly from the server, completely bypassing your local cache, ISP resolver, and browser DNS cache.
- Go to DNS Record Lookup
- Enter your domain (e.g.,
example.com) - Select the record type you changed (A, CNAME, MX, etc.)
- Compare the result with your expected new value
- If it shows the new value — Google's DNS has the update. Most global users will see it within minutes.
Why Google DNS? Google Public DNS (8.8.8.8) is the world's most-used public resolver. If your change is live on Google DNS, it's a strong signal that propagation is well underway globally.
Method 2: Command-Line Multi-Resolver Check
The gold standard for checking propagation: query the same record against multiple public DNS resolvers and compare results. If all return your new value, propagation is complete. If some return the old value, those resolvers' caches haven't expired yet.
Multi-Resolver Check with dig (macOS / Linux)
# Check your domain against 5 major public resolvers
dig example.com A @8.8.8.8 +short # Google
dig example.com A @1.1.1.1 +short # Cloudflare
dig example.com A @9.9.9.9 +short # Quad9
dig example.com A @208.67.222.222 +short # OpenDNS
dig example.com A @94.140.14.14 +short # AdGuard DNS
If all five return the same IP, your change has propagated to every major public resolver. If some return different IPs, note which ones — they're still serving stale cache.
Check SOA Serial (Verify the Update Exists at Source)
# Check the SOA serial number — should increment with each zone change
dig example.com SOA +short
The SOA serial (third field in the output, e.g., 2026061201) should be higher than before your change. If the serial hasn't incremented, your DNS host hasn't processed the update yet — propagation isn't the issue, the change itself hasn't been applied.
Windows: Multi-Resolver Check with nslookup
nslookup example.com 8.8.8.8
nslookup example.com 1.1.1.1
nslookup example.com 9.9.9.9
Each command queries a specific DNS server. Compare the "Address" field across all three — they should match your new IP.
Method 3: Online Propagation Checkers
Several free online tools check your domain against 20–100+ DNS servers worldwide and show a map or table of results. These are useful for a visual overview but have limitations: they typically only check A records, may be rate-limited, and some are ad-heavy. Use them as a supplement to direct lookups, not a replacement.
Checks A, AAAA, CNAME, MX, NS, TXT, SOA against 30+ global locations. Shows green checkmarks for matching results.
25+ worldwide DNS servers. Color-coded map view. Supports all major record types.
Minimalist propagation checker. Simpler UI, fewer locations but fast results. Good for quick A record checks.
20+ locations. Shows response time per location. Helpful for identifying slow regions.
⚠️ Limitation: Online checkers query their own resolver infrastructure, not actual ISP resolvers. A green map doesn't guarantee every ISP resolver worldwide has updated — but it's a strong indicator. For critical changes, combine our DNS Record Lookup with command-line multi-resolver checks.
How Long Does DNS Propagation Actually Take?
The honest answer: it depends on your TTL and the resolver. But here are realistic estimates based on real-world experience:
| Scenario | TTL Before Change | Typical Propagation | Worst Case |
|---|---|---|---|
| A record, low TTL (pre-lowered) | 300 (5 min) |
5–15 min | 30 min |
| A/CNAME record, standard TTL | 3600 (1 hr) |
30 min–2 hr | 4 hr |
| MX record change | 3600–14400 |
1–6 hr | 24 hr |
| NS record (nameserver change) | 86400 (24 hr) |
24–48 hr | 72 hr |
| DNSSEC (DS record at registry) | Registry-controlled | 1–24 hr | 48 hr |
The 24–48 hour warning that registrars give is a conservative worst-case number. In practice, for standard A/CNAME changes with reasonable TTLs, most of the world sees the update within 30–60 minutes. NS and registry-level changes (DNSSEC, glue records) genuinely can take 24+ hours.
⏳ Stuck waiting for propagation? While you wait, check if your local cache is the real blocker — not propagation at all. Clear your DNS cache on macOS, Windows, Linux, and browser, then check again with our DNS Record Lookup. Many "propagation problems" are actually local caching problems.
Factors That Affect Propagation Speed
- TTL value — The #1 factor. A TTL of 300 means resolvers cache for 5 minutes; 86400 means 24 hours.
- TTL before the change — If you didn't pre-lower TTL, existing cached entries must expire naturally. The resolver that cached your record 55 minutes ago with a 3600 TTL will wait another 5 minutes before re-querying.
- Resolver cache-warming — Popular domains may be "pinned" in resolver caches beyond TTL (some ISPs ignore TTL). This is rare but happens with major ISPs in certain regions.
- Negative caching — NXDOMAIN (domain doesn't exist) responses can be cached based on the SOA
minimumTTL. If someone queries before your domain exists, they may get an NXDOMAIN cached for hours. - DNSSEC chain — Signed zones have additional caching layers (RRSIG records have their own expiry). DNSSEC validation can add propagation latency.
- Registry-level delays — NS record changes at the TLD registry level (.com, .org, .io) are batched and can take 20 minutes to 6 hours to be published to the root zone.
Common Propagation Scenarios & Solutions
Scenario 1: "I changed my A record but I still see the old site"
Most likely: local DNS cache, not propagation. Before blaming propagation, follow this checklist in order:
- Clear your DNS cache (OS + browser)
- Open a private/incognito browser window and try again (bypasses browser DNS cache)
- Use our DNS Record Lookup to check what Google DNS sees
- If Google DNS shows the new IP, propagation is working — the issue is your local cache or ISP resolver
- If Google DNS still shows the old IP, check the SOA serial to confirm the update was actually applied at your DNS host
Scenario 2: "Some users see the new site, others see the old one"
This is classic mid-propagation behavior. Some ISPs' resolvers have fetched the new record; others are still serving cached old data. Solution: wait. Verify with a multi-resolver check (Method 2 above) to track which resolvers have updated. Most stragglers catch up within 2× TTL.
Scenario 3: "I changed nameservers and nothing works"
Nameserver changes are the slowest DNS operation. The TLD registry must update the NS glue records, then every resolver must discover the new delegation path. Timeline:
- 0–2 hours: Registry publishes the new NS records
- 2–24 hours: Major resolvers pick up the new delegation
- 24–72 hours: Full global convergence
During this window, it's normal for some queries to hit old nameservers and others to hit new ones. Never delete your old DNS hosting until propagation is confirmed complete — keep both old and new zones identical during the transition.
How to Speed Up DNS Propagation
You can't force the world's resolvers to update faster, but you can minimize the impact of propagation delay:
- Pre-lower TTL before changes. Days before a planned migration, set TTL to 300. Wait for the old TTL to expire, then make the record change. Propagation completes in 5 minutes instead of hours.
- Use the lowest practical TTL during transition. 60 seconds is fine for short maintenance windows. Most DNS hosts support TTL as low as 30 seconds (Cloudflare's lowest is 30s on paid plans, 120s on Free).
- Set up both old and new IPs during cutover. If possible, run both servers simultaneously and switch traffic via a load balancer or reverse proxy. Then switch DNS after the infrastructure is confirmed working.
- Use a CDN with instant purging. Cloudflare, Fastly, and other CDNs can route traffic to new origins instantly via their control panel — no DNS propagation wait. After confirming the new origin works, update DNS at your leisure.
- Flush your cache aggressively. You can't flush ISP caches, but you can clear your own DNS cache at every layer (OS + browser + router) so at least you see the new results.
🔄 The DNS Propagation-to-Cache Pipeline: 1️⃣ Make your DNS change → 2️⃣ Check propagation with multi-resolver dig → 3️⃣ If stale, clear your DNS cache → 4️⃣ Verify with DNS Record Lookup → 5️⃣ Repeat until all resolvers show the new value. Bookmark all three pages for the next DNS migration.
FAQ
How do I check DNS propagation for free?
You have three free methods: (1) Our DNS Record Lookup — queries Google DNS directly, instant results, supports all record types. (2) Command-line dig against multiple resolvers as shown above. (3) Online checkers like whatsmydns.net for a visual world map. For the most reliable check, use method 1 or 2 — online checkers can be rate-limited or may query stale resolvers.
Does DNS propagation really take 48 hours?
For standard A/CNAME/MX record changes with typical TTLs (300–3600), no — 48 hours is a myth. The 24–48 hour warning is a conservative CYA number from registrars. In practice, most changes propagate to major resolvers within 30–60 minutes (for 1-hour TTL) or 5–15 minutes (if you pre-lowered TTL). The exception is NS record changes (actual nameserver changes), which genuinely can take 24–72 hours because the TLD registry is involved.
Why can some people see my new site but I can't?
This is the most common propagation symptom. Their ISP's DNS resolver has fetched the updated record; your ISP's resolver is still serving a cached version. Solution: clear your DNS cache (OS + browser), or temporarily switch your computer's DNS to 8.8.8.8 (Google) or 1.1.1.1 (Cloudflare) to bypass your ISP's resolver. Check our DNS Record Lookup to confirm the record is live on Google DNS — if it is, your ISP's resolver just hasn't caught up yet.
Can I check propagation for MX records?
Yes. Use our DNS Record Lookup and select "MX" from the record type dropdown, or use dig example.com MX +short at the command line. MX record propagation follows the same TTL rules as A records, but email servers often have their own internal DNS caching. After an MX change, send a test email and check the Received: headers to verify which server handled it. See our DNS Record Types guide for MX record details.
Does Cloudflare make DNS propagation instant?
Cloudflare operates an authoritative DNS service with a global anycast network — when you change a record in Cloudflare's dashboard, it's pushed to all Cloudflare edge locations within seconds (typically 5 seconds for proxied records). However, this only helps if your domain uses Cloudflare's nameservers and is proxied (orange cloud). For DNS-only (grey cloud) records, standard TTL-based caching still applies. And even with Cloudflare, third-party resolvers that cached your old record before the change still need their TTL to expire.
How do I know if a DNS change has fully propagated?
There's no single "propagation complete" signal, but these three indicators together give high confidence: (1) Run a multi-resolver check (Method 2) and all major public resolvers return the new value. (2) Check whatsmydns.net — all locations show green checkmarks. (3) Test from a mobile device on cellular data (different ISP, different resolver) — it shows the new site. If all three pass, propagation is effectively complete for 95%+ of internet users.