Domain IP Lookup

Picking a TTL in practice

60-300sActive migrations -- fast propagation, more queries
3,600sA reasonable default for most ordinary records
86,400sRarely-changing records like MX and NS
DNS Fundamentals

DNS TTL Explained: How to Look Up and Choose TTL Values

2 min read

TTL stands for Time To Live. It is a number of seconds attached to every DNS record, and it answers one question: how long may a resolver reuse this answer before asking again?

It is the most under-considered setting in DNS. Most people accept whatever default their provider set and only discover it exists during an emergency migration, when it is too late to change it usefully.

Picking a TTL in practice

60-300sActive migrations -- fast propagation, more queries
3,600sA reasonable default for most ordinary records
86,400sRarely-changing records like MX and NS
A high TTL means fewer queries and faster lookups. A low TTL means changes take effect quickly. You cannot have both.

The trade-off

High TTL (86400)Low TTL (300)
Lookup speedFaster — usually cachedSlower — re-queried often
Query volumeLowHigh
Change takes effectUp to 24 hoursUp to 5 minutes
Resilience if your DNS failsBetter — caches cover youWorse — caches expire fast
Best forStable recordsRecords about to change

Key takeaway

High TTL optimises for speed and resilience. Low TTL optimises for agility. Neither is universally correct — the right answer depends on whether that record is about to change.

How to look up a DNS TTL: what it looks like in practice

The number before IN is the TTL in seconds
example.com.    3600    IN    A     93.184.216.34
example.com.   86400    IN    NS    ns1.example.com.

To look up a domain's TTL, query the record with dig: it shows the remaining TTL, not the configured one. Run the same query twice a few seconds apart and watch the number drop — that is a live view of the resolver's cache counting down.

Watch a cached record expire
dig +noall +answer example.com
# wait 10 seconds, then
dig +noall +answer example.com
RecordSuggested TTLWhy
A / AAAA3600 (1 hour)Good default: fast enough to fix mistakes, long enough to be efficient.
A during a migration300 (5 min)Set a day ahead so the change lands quickly.
MX3600-14400Mail is queued and retried, so speed matters less.
TXT (SPF/DKIM/DMARC)3600Changes rarely; fast enough when it does.
NS86400+Delegation almost never changes and caching it reduces TLD load.
CNAMEMatch the targetNo benefit to expiring faster than what it points at.

The migration pattern

This is the one TTL workflow worth memorising, because it turns a day-long outage risk into a five-minute one.

  1. At least one old-TTL period before the change, lower the TTL

    If the current TTL is 3600, change it to 300 and wait at least an hour. Change nothing else.

  2. Confirm the short TTL is being served

    Query the record and check the TTL counts down from 300. Now every cache holding your record is on a five-minute timer.

  3. Make the real change

    Update the address. Maximum wait for anyone is now five minutes.

  4. Verify, then restore the TTL

    Once traffic is on the new server, set the TTL back to 3600 to stop paying the query cost.

TTL and resilience

There is a benefit to high TTLs that rarely gets mentioned: if your DNS provider suffers an outage, resolvers with your records still cached keep serving them. A 24-hour TTL can carry your domain through a multi-hour DNS outage largely unnoticed. A 60-second TTL means you go dark almost immediately.

This is a real argument for keeping TTLs comfortably high on stable records — and for treating low TTLs as a temporary migration tool rather than a default posture. What you are waiting for when a record changes is covered in DNS propagation.

Need to check a domain's public DNS addresses? Use the Domain IP Lookup tool.

Free tools for this topic

what is dns ttldns ttl explainedbest ttl value dnstime to live dns

Frequently asked questions