Email for your domain, with DNS setup handled. PostScale

    DNS Propagation Explained

    8 min readBeginner

    Quick answer

    DNS propagation usually means old answers remain in resolver caches after a record changes. The previous answer’s remaining TTL gives a starting estimate, not a universal deadline. Compare the authoritative nameservers with recursive resolvers to separate unpublished changes from cached data. Lower TTL before a planned migration and keep the old service available during the transition.

    What you'll learn
    • Understand how DNS caching drives propagation timing across recursive resolvers
    • Learn the relationship between TTL values and propagation speed for different record types
    • Use dig and other tools to check propagation status from multiple vantage points
    • Apply pre-change TTL reduction strategies to minimize downtime during DNS migrations

    DNS propagation is the informal name for the period when caches still hold old DNS answers after an authoritative change. The change is not actively pushed to all DNS servers worldwide; recursive resolvers refresh it when their cached copy expires or is evicted.

    If you are starting from the broader term "cache," read What Is Cache first. This guide focuses on how DNS resolver caches make record changes appear gradually across the internet.

    Check a DNS Change Now

    Open the DNS propagation checker and compare the affected record across its available resolvers. Then query each authoritative nameserver directly to confirm the new value is published.

    What you seeNext step
    Authoritative servers disagreeFix publication or zone synchronization before waiting for caches.
    All authoritative answers are new; some resolvers are oldCheck the remaining TTL of the old answer and retain the old endpoint during the transition.
    Public checks are new; one device is oldCheck local DNS, VPN or split-DNS settings, application caching, and existing connections.
    NXDOMAIN or SERVFAILCheck negative caching or validation and delegation errors.
    Note
    A propagation checker samples particular resolver caches. Matching results do not prove that every user, application, or resolver worldwide has refreshed.

    How DNS Propagation Works

    DNS is a distributed, heavily cached system. Here's what happens when you change a record:

    1. You update the A record for example.com from 192.0.2.1 to 198.51.100.1 in DNScale
    2. The authoritative nameserver (DNScale) starts serving the new record
    3. Recursive resolvers (like Google DNS, Cloudflare DNS, ISP resolvers) still have the old record cached
    4. Each resolver keeps serving the old IP until its cached copy expires based on the TTL
    5. After the TTL expires, the resolver fetches the new record from the authoritative server
    6. Gradually, resolvers that previously cached the answer pick up the change

    One resolver's 5-minute cache window

    0112:00 — Resolver caches the old address with TTL 300.
    0212:02 — You publish a new address. That resolver still has 180 seconds left.
    0312:05 — The old entry expires. A subsequent query can fetch the new address.
    Illustrative normal caching, with all authoritative servers updated. Other resolvers cached the answer at different times; stale-answer policies and application caches are separate.

    The normal cache window follows the remaining TTL of the old answer. Authoritative publication, parent delegation, negative caching, and application behavior can add separate delays.

    Info
    Propagation is not a push mechanism. No central authority tells resolvers to update. Each resolver independently decides when to refresh its cache based on the TTL it received with the last response.

    The Relationship Between TTL and Propagation

    TTL (Time to Live) is the single biggest factor controlling propagation speed. Every DNS response includes a TTL value that tells resolvers how long to cache the answer.

    If your A record had a TTL of 3600 (1 hour), most resolvers will serve the old record for up to 1 hour after you make a change. If the TTL was 86400 (24 hours), it could take up to a full day. Use the TTL that was in effect before the change to estimate ordinary cache expiry. It is not a guarantee that every client will switch at that deadline.

    This is a common point of confusion. If you change a record and set the new TTL to 300 seconds, but the old record had a TTL of 86400, resolvers that cached the old record will still hold it for up to 24 hours. The new TTL only takes effect once resolvers fetch the fresh record.

    For detailed TTL strategies, see DNS TTL Best Practices.

    What Affects Propagation Time

    Resolver Caching Behavior

    Not all resolvers respect TTL exactly:

    • Some resolvers enforce a minimum TTL (e.g., they won't cache for less than 30 seconds)
    • Some enforce a maximum TTL (e.g., capping at 24 hours even if you set 7 days)
    • A few resolvers may cache slightly beyond the TTL

    Resolvers may also use serve-stale behavior to preserve availability when fresh answers cannot be obtained. That is a separate condition from normal TTL expiry.

    ISP DNS Servers

    Compare the affected ISP resolver with the authoritative servers and other resolvers. An old result may come from an upstream cache, a stale local answer, split DNS, or inconsistent authoritative servers. Identify the source before attributing the delay to the ISP.

    Nameserver Changes

    A nameserver change updates the delegation in the parent zone, usually through your registrar. The parent NS and glue TTLs matter alongside the child zone's data. Changing a domain's nameservers does not normally change the root zone. Lowering the child SOA or record TTL does not lower the parent delegation TTL; keep old and new providers serving consistent data through the observed delegation window.

    Negative Caching

    If a resolver previously queried a record that did not exist, it caches the negative result (NXDOMAIN) using the smaller of the SOA record TTL and SOA.MINIMUM. Creating a new record after a negative cache entry means resolvers may still return "not found" until that negative cache expires.

    Typical Propagation Times

    Change TypeTypical TimeWhy
    Record update (A, CNAME, MX, etc.)Minutes to hoursDepends on the previous TTL
    New record addedAfter authoritative publication, or after a negative cache expiresA previous NXDOMAIN or NODATA answer may be cached
    Record deletedMinutes to hoursOld cached entries must expire
    Nameserver changeParent publication plus delegation/cache lifetimesInspect parent NS and glue TTLs; allow provider overlap
    TTL reductionUp to the old TTLResolvers cache at the old, longer TTL first

    How to Check DNS Propagation

    Using dig

    Query different DNS server types to see what they're returning:

    # Query Google DNS
    dig example.com @8.8.8.8
     
    # Query Cloudflare DNS
    dig example.com @1.1.1.1
     
    # Query your authoritative server directly
    dig example.com @ns1.dnscale.eu
     
    # Check only the answer, short format
    dig +short example.com @8.8.8.8
     
    # Check the TTL remaining on the cached record
    dig example.com @8.8.8.8 | grep -A1 "ANSWER SECTION"

    If the authoritative server returns the new IP but public resolvers still show the old one, propagation is in progress. The remaining TTL in the resolver's response tells you approximately how long until that resolver refreshes.

    Comparing Multiple Resolvers

    # Quick propagation check across major resolvers
    for ns in 8.8.8.8 1.1.1.1 9.9.9.9 208.67.222.222; do
      echo "$ns: $(dig +short example.com @$ns)"
    done

    Checking Different Record Types

    Propagation applies to all record types, not just A records. You can check MX records, TXT records, AAAA records, and others the same way:

    # Check MX propagation
    dig MX example.com @8.8.8.8 +short
     
    # Check TXT propagation (useful for SPF/DKIM verification)
    dig TXT example.com @1.1.1.1 +short
     
    # Check AAAA propagation
    dig AAAA example.com @9.9.9.9 +short

    Online Propagation Checkers

    Web-based tools like whatsmydns.net query dozens of resolvers worldwide and show results on a map. These are useful for a broad view but should be supplemented with direct dig queries to your authoritative servers for accuracy.

    How to Speed Up DNS Propagation

    1. Lower TTL Before Making Changes

    The most effective technique. Reduce TTL at least one full old-TTL interval before your planned change. Start that interval after the authoritative servers publish the lower value:

    # Step 1: Lower TTL to 300 (5 minutes), wait for old TTL to expire
    example.com.  300  IN  A  192.0.2.1
     
    # Step 2: Make the actual change
    example.com.  300  IN  A  198.51.100.1
     
    # Step 3: After propagation, restore a longer TTL
    example.com.  3600  IN  A  198.51.100.1

    This three-step process is especially important for migrations. If you are switching hosting providers, moving to a CDN, or changing email providers, lowering the TTL in advance prevents extended downtime.

    2. Flush Your Local Cache

    Flush your DNS cache if your device holds an old answer. Upstream recursive caches remain intact, so the next local lookup may still return cached data. Query the authoritative server directly to verify publication.

    3. Use DNScale's Anycast Network

    DNScale's anycast DNS network helps authoritative servers respond from geographically distributed points of presence. When a resolver's cache expires, it gets the fresh record from a topologically preferred DNScale node with low latency. This is typically more effective than unicast DNS setups where all queries go to a single location.

    Common Propagation Misconceptions

    "DNS propagation takes 24-48 hours"

    This is a common planning window for nameserver changes, where parent-zone delegation TTLs and resolver caches matter. For regular record changes with short TTLs, most resolvers typically refresh in minutes, but outliers can happen because resolver behavior is not perfectly uniform.

    "There's nothing you can do to speed it up"

    Lowering the TTL before a change significantly reduces propagation time. With a 5-minute TTL, most resolvers will pick up your change within 5 minutes.

    "Propagation means DNS servers are syncing with each other"

    Recursive resolvers don't sync with each other. Each resolver independently caches records and fetches updates from authoritative servers when the cache expires. "Propagation" is really just caches expiring at different times.

    "My site is down because of DNS propagation"

    If your site is unreachable after a DNS change, check whether the issue is actually DNS-related or a web server misconfiguration. Use dig against your authoritative server to confirm the record is correct, then check public resolvers to determine whether it is a caching issue.

    DNS Propagation and DNScale

    When you update records in DNScale:

    1. DNScale publishes the change to its authoritative serving infrastructure.
    2. Verify the new value on the assigned nameservers; do not assume every location updates at exactly the same instant.
    3. Recursive resolvers obtain the updated answer on a subsequent refresh.

    Authoritative publication and recursive cache expiry are separate processes. Anycast improves reachability and query delivery; it cannot invalidate answers already cached by other resolvers.

    Propagation and DNSSEC

    If your zone is DNSSEC-signed, propagation involves an extra layer. DNSSEC signatures have their own validity periods, and key rollovers require careful timing to ensure that both old and new signatures are available during the transition. Rushing DNSSEC changes can cause validation failures at resolvers that enforce DNS security.

    Conclusion

    DNS propagation isn't a mysterious process -- it's mostly DNS caches expiring at different times around the world. By understanding TTL and planning changes in advance, you can minimize propagation delays. DNScale's anycast network and edge replication keep the authoritative side of propagation fast, while resolver caches still expire on their own timelines.

    References

    Frequently asked questions

    How long does DNS propagation take?
    For a normal record update, the remaining TTL of the old cached answer is the starting estimate, not a universal deadline. If the old record had a TTL of 3600 seconds, some resolvers may serve the old answer for up to 60 more minutes after the change. With a TTL of 86400 (24h), it can be a full day. Prepare the lower TTL in advance. Delegation caches, negative caching, serve-stale behavior, and application connections can affect the result.
    Why do different DNS checkers show different results?
    Each public resolver has an independent cache. They learned the old answer at different times, so they expire at different times. A 'propagation checker' that polls many resolvers from many locations is showing you the staggered cache-expiry — not real-time updates from your authoritative server.
    Can I force DNS propagation faster?
    You can't force other resolvers to drop their caches. What you can do: (1) lower TTL well before the change, (2) flush your own resolver cache, (3) verify the authoritative answer directly with dig @ns1.dnscale.eu example.com to confirm DNScale serves the new answer correctly. The rest is just waiting out cached TTLs.
    Does propagation depend on the record type?
    No — TTL applies to every record type. A 300-second TTL on an MX record propagates the same way as a 300-second TTL on an A record. What does vary is who actually queries the record: A-record changes are visible to every browser visit, while MX-record changes are only seen by sending mail servers.
    What's the right TTL strategy for a planned migration?
    Lower TTL to 300 seconds (or another value supported by the provider), then allow at least one previous-TTL interval after authoritative publication before cutover. At cutover, change the records. Once you've confirmed the new setup is healthy and the old TTL window has passed, raise TTL back to a longer value (3600+) to maximise caching efficiency.

    Check the answers resolvers return

    Compare a DNS record across public resolvers. Each result is a sample of that resolver’s cache.

    Check DNS propagation