DNS Propagation
DNS Propagation Delay
The waiting period after you change a DNS record before the whole internet sees it. Nothing is literally "spreading" — it is simply the time it takes for cached copies of the old value to expire.
DNS propagation is the term for the lag between updating a record — say, pointing example.com at a new server — and that change being visible to everyone. The name is slightly misleading: there is no wave of updates rippling across the world. What is really happening is that DNS resolvers everywhere have cached the old value, and they keep serving it until their cached copy expires. Propagation is just the sum of all those caches timing out.
TTL is the whole story
Every DNS record carries a TTL (time to live) that tells resolvers how many seconds they may cache the answer. When a resolver fetches your A record with a TTL of 3600, it is allowed to reuse that value for an hour before asking again. If you change the record 10 minutes after it was cached, that resolver will keep handing out the old IP for the remaining 50 minutes. Multiply this across thousands of resolvers that each cached at different moments, and you get a window during which some see the new value and some see the old.
| Record TTL | Worst-case time to fully propagate |
|---|---|
| 300 seconds (5 min) | About 5 minutes |
| 3600 seconds (1 hour) | About 1 hour |
| 86400 seconds (24 hours) | Up to a full day |
The standard migration playbook
Because propagation time is governed by TTL, you control it by planning ahead:
- Lower the TTL first. A day or so before the change, drop the record's TTL to 300 seconds. Wait at least the length of the old TTL so the low value is the one now cached everywhere.
- Make the change. Update the record to its new value. Resolvers now only hold it for five minutes.
- Confirm and restore. Verify the new value is being served, then raise the TTL back to an hour or more to cut down on repeated lookups.
Skipping step one is the usual reason a change "takes forever" — if the old record had a 24-hour TTL, you are stuck waiting out that full day.
Why two people see different things
During the propagation window it is completely normal for one person to load the new site while another still lands on the old one. They are simply using resolvers whose caches expired at different times. There is nothing to fix — once every cached copy passes its TTL, everyone converges on the new value. Clearing your own device's DNS cache (or testing through a different resolver like 1.1.1.1) lets you preview the new value sooner, but it does not speed things up for anyone else.
Checking propagation
# Query a specific resolver to see what it currently returns
dig @1.1.1.1 example.com +short
dig @8.8.8.8 example.com +short
# Compare against your authoritative nameserver (the source of truth)
dig @ns1.your-dns-provider.com example.com +short
If your authoritative nameserver shows the new value but a public resolver still shows the old one, propagation is in progress and simply needs the cached TTL to expire. Online "DNS propagation checker" tools do the same thing from many locations at once, giving a quick global snapshot.