DNS TTL Explained: Caching and Propagation
Every DNS record carries a TTL (Time To Live) in seconds. It tells resolvers how long they may cache the answer before asking the authoritative server again. TTL is the dial behind everything people call "DNS propagation."
How caching works
When a resolver fetches www.example.com → 203.0.113.10 with a TTL of 3600, it serves that answer from cache for up to an hour. Until the TTL expires, changing the record at your authoritative server has no effect on clients still holding the cached value — there is no "push," only expiry.
Choosing a TTL
| TTL | Good for | Trade-off |
|---|---|---|
| 300 (5 min) | Records you change often, failover | More queries to authoritative servers |
| 3600 (1 hour) | Typical web records | Balanced |
| 86400 (1 day) | Stable records (MX, NS) | Slow to change |
Planning a migration
- A few days ahead, lower the TTL (e.g. to 300) on the record you will change.
- Wait for the old, longer TTL to expire everywhere.
- Make the change — now caches clear within 5 minutes.
- After things settle, raise the TTL again to cut query load.
"Propagation taking 48 hours" almost always means the old record had a long TTL that you forgot to lower first. Inspect current records and TTLs with our DNS lookup. Related: DNS record types.
Note: Negative answers (NXDOMAIN) are also cached, governed by the SOA minimum field — a missing record can linger too.