How long does DNS propagation take? TTLs and caching explained

5 min read · Published · Password and DNS Toolbox

Short answer

A DNS change is live on your authoritative name servers immediately. Resolvers that cached the old record keep using it until its TTL expires — so propagation takes at most the old TTL, often minutes to a few hours. Changing name servers can take up to a day or two, because the parent zone's delegation is cached too.

Key points

  • "Propagation" is resolvers caching answers until the TTL runs out.
  • Lower the TTL (for example to 300 seconds) a full TTL period before a planned change.
  • Compare authoritative servers with public resolvers to see where the old answer lingers.

How DNS caching works

When someone visits your site, their resolver (their ISP, or Cloudflare, Google, Quad9…) asks your authoritative name servers for the record and caches the answer for the record's TTL (time to live). Until that TTL runs out, it answers from cache — even if you changed the record in the meantime. There is no push mechanism: nothing is actively "propagated".

Typical timings

  • Changed A, CNAME, MX or TXT record: up to the old TTL. With a 1-hour TTL, most resolvers update within an hour.
  • New record that did not exist before: resolvers that recently asked may have cached "does not exist" for the SOA minimum (negative caching) — check it in the SOA record with the DNS lookup.
  • Changed name servers: the delegation is cached from the parent zone (for example .com or .eu) with its own TTL, often one to two days.

How to check where the old answer remains

The DNS propagation checker queries your authoritative servers directly — the source of truth — and five large public resolvers. If the authoritative servers show the new value, your change is correct; resolvers still showing the old value will update when their cached TTL expires. If the authoritative servers disagree with each other, you have a zone synchronisation problem, not a propagation delay.

How to make changes visible faster

  1. A day before the change, lower the TTL of the records you will change to 300 seconds.
  2. Wait at least one old-TTL period so caches pick up the short TTL.
  3. Make the change. It is now visible everywhere within about five minutes.
  4. Raise the TTL again once everything works.

Your own computer and browser also cache DNS; flush them if you still see the old site.

Frequently asked questions

Why do some people see my new website and others the old one?

Their resolvers cached the old answer at different times. Each expires independently.

Does DNS propagation really take 48 hours?

Rarely today. That figure dates from long default TTLs and name-server changes.

Can I flush Google's or Cloudflare's cache?

Both offer public cache-purge pages for individual names.

Sources