DNS Propagation
How Long Until Your DNS Change Goes Live? — Resolver-by-Resolver Timing Model
Published: 2026-07-13 | jslet Research | 9 min read
Executive Summary
You change the A record for api.example.com from 203.0.113.10 to 203.0.113.20. Your browser shows the new IP. The deployment dashboard says green. Then the Slack messages start: "API is down" from Singapore. "Getting connection refused" from Frankfurt. "Works fine here" from Virginia.
This is DNS propagation. It's not a single number. It's a distribution — shaped by your TTL setting, by the cache policies of the 8 major resolver populations between your users and your authoritative nameserver, and by the geographic topology of the DNS hierarchy itself. The user on Google DNS in Virginia sees the change in 60 seconds. The user on a Deutsche Telekom resolver in Berlin might wait 24 hours. Both are correct from their vantage point.
This tool models that distribution. Input your record's TTL and record type, select the resolver populations relevant to your user base, and get the per-resolver propagation time range — with the underlying cache policy data that drives the math. Use it before your next DNS cutover to know exactly which users will see the change when, and which ones need a lower TTL.
Propagation Time Calculator
Model the distribution of propagation times across 8 resolver populations. All calculations client-side — your DNS configuration never leaves your browser.
Estimated Propagation by Resolver
Adjust the TTL slider above to see per-resolver propagation estimates.
The 8 Resolver Populations That Determine Your Propagation Time
DNS propagation is not a network phenomenon — it's a cache invalidation problem. Each resolver population has its own cache policy. Some honor your TTL. Some override it. Some ignore it entirely for certain record types. Understanding who does what is the difference between a 5-minute cutover and a 48-hour outage for half your users.
Tier 1: TTL-Honoring Public Resolvers (Fastest)
Propagation: TTL + 0–60 seconds (cold query traversal time). For a 300s TTL record: 5–6 minutes maximum.
Global anycast: Queries route to the nearest Google edge node, but the cache is shared globally — a user in Tokyo and a user in Virginia querying the same record within the TTL window get the same cached answer.
Market share: ~10% of global DNS queries. Dominant among technically literate users, developers, and Android devices (default on many OEM builds).
Propagation: TTL + 0–90 seconds (edge location variance).
WARP nuance: Users on Cloudflare WARP (their consumer VPN) use 1.1.1.1 as their resolver by default but with an additional caching layer at the WARP egress point. This can add 30–60 seconds of propagation delay vs native 1.1.1.1 users.
Tier 2: Mostly-Honoring Resolvers (Slight Lag)
Propagation: TTL + 0–5 minutes. Minimum effective TTL of 30 seconds enforced.
DNSSEC: Quad9 validates DNSSEC by default. If your zone has broken DNSSEC configuration, Quad9 returns SERVFAIL — and caches that SERVFAIL for the negative TTL. This is a common but misdiagnosed cause of "propagation failure."
Propagation: TTL + 1–5 minutes.
NXDOMAIN handling: OpenDNS replaces NXDOMAIN with a search results page for non-existent domains on the free tier unless the user opts out. This does not affect propagation of real records but can cause confusion when testing.
Tier 3: ISP Resolvers — The Wild West (Slowest)
Propagation: Max(your TTL, 300s) + 0–15 minutes (regional cache variance).
Market share: ~30 million subscribers. Largest single ISP resolver population in the US.
Propagation: Typically 1–24 hours for A record changes. NS record changes can take 48+ hours.
Impact: This is the primary reason "DNS propagation takes up to 48 hours" persists as industry folklore. For Deutsche Telekom users — ~45 million subscribers across Germany and Central Europe — it genuinely can take that long.
Propagation: Max(your TTL, 900s) + 0–10 minutes.
Propagation: Max(your TTL, 300–900s) + 0–30 minutes.
The DNS Resolver Hierarchy — Why "Propagation" Is a Cache Invalidation Problem
DNS is not a push protocol. When you change a record at your authoritative nameserver, that nameserver does not notify anyone. It waits. Resolvers come to it when their cached copy expires and they need a fresh answer. The time between "you made the change" and "every resolver has the new answer" is the propagation window — and its length is determined entirely by cache policies, not by network physics.
The key insight: Propagation is the time between steps 1 and 4, summed across all resolver populations. Each resolver's timer started when it last cached the record — not when you made the change. If a resolver cached the old record 30 seconds before your change with a 3600-second TTL, it will serve the old value for 59 minutes and 30 seconds after your change. This is why the "pre-warming" technique works: lower the TTL to 60 seconds at least 24 hours before the change, wait for the old long TTL to expire everywhere, then make the change. Every resolver now has a 60-second stale window, not a 3600-second one.
The Pre-Warming Technique — How to Make DNS Changes Instant for 95% of Users
The standard playbook for a zero-downtime DNS migration:
- 24+ hours before cutover: Reduce the TTL on the record(s) you plan to change to 60–300 seconds. Wait at least the old TTL duration — if the old TTL was 86400 (24 hours), you wait 24 hours. This ensures every resolver that cached the old record with the old long TTL has expired it and re-cached with the new short TTL.
- At cutover time: Make the DNS change. Resolvers with the short TTL will refresh within 60–300 seconds.
- After propagation confirms: Restore the TTL to its original value (or a value appropriate for your operational needs). The restored TTL only takes effect after the current short TTL expires.
This technique works because you're not fighting the old cache — you expired it before the change. The only remaining variable is the resolver's minimum TTL policy (if any). On Google DNS and Cloudflare, a 60-second TTL means 60-second propagation. On Comcast, it means 300 seconds (their minimum). On Deutsche Telekom, it means 3600 seconds (their minimum). Pre-warming eliminates the old-cache variable but cannot override ISP minimum TTL policies.
When pre-warming doesn't help: NS record changes (delegation changes). The parent zone's NS records have their own TTLs set by the registry, independent of your zone. Changing nameservers for example.com involves updating the .com zone's NS records — which have a 2-day TTL at the registry level. No amount of pre-warming your own zone can accelerate the registry's NS TTL. Nameserver migrations are inherently 24–48 hour processes.
📜 Copyright & Attribution
© 2026 jslet Research. This article is an original work published on jslet (jslet.com). All rights reserved.
Sharing & Reprinting: You may share excerpts (up to 200 words) with a mandatory, do-follow link back to the original article URL. Full reproduction, translation, or adaptation requires prior written permission.
Resolver Data Disclaimer: ISP DNS resolver behaviors described in this article reflect publicly observable cache policies as of July 2026. ISP resolver configurations change without notice. Always test your specific domain's propagation from your actual user locations before and after DNS changes. Contact: research@jslet.com.