Why DNS changes take time: caches, TTLs and the propagation myth

By TechCompare · Updated · How we check

A record change reaches every resolver once the old TTL has passed. A move to new name servers can take up to two days, because the .com registry hands out NS records with a TTL of 2 days.

DNS propagation sounds like your change spreads across the internet, but nothing gets pushed anywhere. Your DNS host updates its name servers, usually within seconds or minutes. Resolvers around the world keep serving the copy they cached until its TTL runs out, then fetch the new one. Propagation is just those caches expiring, one resolver at a time.

Topic
DNS propagation
Caching
Category
Caching and errors
TTLs, propagation and empty answers

How this is calculated

Every resolver caches each answer for the TTL the domain set. If your A record had a TTL of 1 hour, a resolver that fetched it a minute before your change keeps the old address for most of that hour. Another resolver that hadn't cached it sees the new one right away. That's why one person sees the new site while someone else still gets the old one.

Name server changes are slower. When you move a domain to a new DNS host, the change goes to the registry for its top level domain, and the .com registry's copy of your NS records carries a TTL of 2 days. Resolvers may keep asking the old name servers until that runs out, so keep the old zone running and up to date for a few days.

A name that didn't exist yet has its own wait. If someone looked it up before you created it, resolvers keep the NXDOMAIN answer for the negative caching time in your zone's SOA record (RFC 2308).

Browsers, operating systems and routers keep small caches of their own, so a stubborn device may need its DNS cache flushed. Cloudflare and Google both let you clear their public resolver's copy of a name: Purge Cache at one.one.one.one and Flush Cache on the Google Public DNS site.

Verdict

Plan around the old TTL. Lower it a day ahead of a change, and after you switch, compare more than one resolver instead of trusting the first answer. Any resolver still holding the old value will drop it within the old TTL of your change. For a name server move, keep the old zone up and in sync for at least two days.

More DNS scenarios

TXT records
The free text record that holds verification codes, SPF, DKIM keys and DMARC policies.
View details
SPF vs DKIM vs DMARC
SPF checks the sending server, DKIM checks the message, and DMARC ties both to the From address.
View details
MX records
How senders find your mail servers, what the priority number does, and the null MX for domains that take no mail.
View details

Frequently asked questions

How long does DNS propagation take?
For a record change, up to the record's old TTL, which is often an hour or less. For a change of name servers, up to two days on .com, because of how long resolvers may cache the registry's NS records. Most people see the change sooner, since many caches expire before the limit.
Can I force DNS to update faster?
You can't flush other people's caches. You can clear the copy in Cloudflare's and Google's public resolvers with their purge and flush pages, flush your own computer's cache, and lower the TTL before your next change.
Why do Cloudflare and Google show different answers after my change?
One of them fetched the record after the change, and the other still holds a copy from before. Pick both in the DNS Lookup and it marks the values only one of them returned. The gap closes once the older copy's TTL runs out.