Skip to content
inetGeek

DNS TTL (time to live)

TTL is the number of seconds a resolver may cache a DNS answer. It is the single number that decides how long a change takes to take effect.

Check this on a domain with DNS Propagation Checker →

01.

What TTL controls

Every DNS record carries a TTL in seconds. A resolver that receives an answer may serve it from cache until the TTL elapses, and is not required to ask again before then.

Nothing in DNS pushes a change out. What people call propagation is simply caches expiring at their own pace.

02.

Where the TTL appears

The TTL is the number before the class in a record: example.com. 3600 IN A 192.0.2.1 may be cached for 3600 seconds, one hour. Every record carries its own, and records at the same name need not agree.

A zone file can also declare a default with $TTL, which applies to any record that does not state one. Control panels usually present the same field as a dropdown in minutes or hours.

03.

The old value is what governs a change

When you change a record, resolvers holding the previous answer keep serving it for the remainder of the previous TTL. The new, shorter TTL only applies once they have fetched the new record.

That is why lowering a TTL has to happen before a migration, not during it. Drop it to a few minutes at least one full old-TTL period ahead, migrate, then raise it again.

Caches expiring after a change48 resolvers

TTL before the change

+0s
old
48 answer 192.0.2.10
new
0 answer 198.51.100.7

Illustrative zone and resolvers. Each square is one resolver's cache; it keeps answering the old address until the TTL it stored before the change runs out. The propagation checker shows the same thing for a real record.
04.

Seeing what a resolver still holds

dig example.com +noall +answer shows the TTL a recursive resolver is currently serving, and it counts down on each repeat until the entry expires and is fetched again. That number is the real wait, not the value published in the zone.

Asking an authoritative nameserver directly returns the configured TTL instead, unchanging, because nothing is cached there. The gap between the two answers is the whole of what people mean by propagation.

05.

Choosing a value

Short TTLs make changes fast and increase query volume; long TTLs do the reverse and improve resilience if your nameservers become unreachable.

A common pattern is hours for records that rarely change, such as MX and NS, and minutes for records involved in an active migration.

Negative answers are cached too, governed by the SOA minimum field rather than the record's own TTL. Creating a record that someone has already queried for can take longer to appear than the TTL suggests.

Related records

When these numbers change, hear about it. Sources are re-checked monthly; a repricing goes out as a short note.

Confirm by email; unsubscribe from any issue. Your address goes to Kit and nowhere else — what we do with it.

Every page here is sourced and dated.