DNS TTL Explained — What Is Time to Live and Why It Matters

Every DNS record has a TTL (Time to Live) value — a number, in seconds, that tells DNS resolvers how long to cache the record before re-querying the authoritative nameserver. TTL is one of the most important settings in DNS because it directly controls two things: how fast DNS changes propagate across the internet, and how much query load your authoritative servers receive.

If you have ever changed your DNS records and wondered why it took hours (or even days) for the change to show up everywhere, TTL is the reason. Understanding how TTL works is essential for anyone managing a domain, migrating hosting, or troubleshooting DNS issues.

How DNS TTL Works

When a DNS resolver looks up a domain, it receives the answer along with a TTL value from the authoritative nameserver. The resolver stores the answer in its local cache and starts a countdown based on the TTL. Every time someone else asks the same question, the resolver returns the cached answer without querying again — as long as the TTL has not expired.

For example, if the A record for example.com has a TTL of 3600 (1 hour), the resolver caches the answer for exactly one hour. During that hour, all queries for example.com are answered instantly from cache. After the hour expires, the resolver discards the cached answer and re-queries the authoritative nameserver for a fresh response.

The TTL value is set independently on every DNS record. Your A record might have TTL 3600, your MX record might have TTL 1800, and your TXT record might have TTL 300. This is common — records that change frequently (like TXT records used for verification) should have low TTLs, while stable records (like MX records for a large email provider) can have high TTLs.

During DNS propagation, different resolvers around the world re-query at different times depending on when they last cached the old record. This is why propagation appears uneven — some locations update within minutes while others take the full TTL duration.

TTL and DNS Propagation Speed

The single most important factor in DNS propagation speed is TTL. When you change a DNS record — whether switching hosting providers, updating IP addresses, or changing email servers — the change is not instant. Every DNS resolver that has the old record cached must wait for the old TTL to expire before it learns the new value.

TTL 300 (5 minutes): Changes propagate in 5-10 minutes. Best for critical services where fast failover is important. Results in more DNS queries hitting your authoritative servers.

TTL 3600 (1 hour): Changes propagate in 1-2 hours. Good balance between propagation speed and query efficiency. Suitable for most production websites.

TTL 86400 (24 hours): Changes propagate in 24-48 hours. Best for stable, rarely changed records. Minimizes DNS query load but makes emergency changes very slow.

Before making a planned DNS change, lower your TTL at least one full TTL period in advance. For example, if your current TTL is 86400 (24 hours), lower it to 300 at least 24 hours before the change. This ensures all resolvers have switched to the low TTL before you make the actual change. After the change is complete and stable, raise the TTL back to its normal value.

Optimal TTL Values for Common Use Cases

Static websites that rarely change: TTL 86400 (24 hours). Your IP address and DNS configuration almost never change. A high TTL reduces query load and speeds up resolution for returning visitors.

Websites on managed hosting: TTL 3600 (1 hour). Hosting providers occasionally move servers. A 1-hour TTL gives you a reasonable propagation window without excessive DNS query overhead.

SaaS and cloud-hosted applications: TTL 300 (5 minutes). These environments change frequently. A 5-minute TTL ensures that failover, auto-scaling, and infrastructure changes propagate almost immediately. This is the standard for services behind load balancers or CDNs.

Email (MX records): TTL 3600 (1 hour). MX records rarely change and email servers re-query MX records on every delivery. A moderate TTL ensures good mail delivery performance while still allowing timely migration.

Verification TXT records: TTL 300 (5 minutes). TXT records used for domain verification (Google, Cloudflare, Let's Encrypt) should have short TTLs. They are temporary and should disappear from cache quickly once removed.

Failover and disaster recovery: TTL 60-300 (1-5 minutes). If you have an automated failover system, your records must propagate quickly. A 60-second TTL ensures that DNS switches within a minute of a failure.

How TTL Affects DNS Performance

TTL has a direct impact on DNS query latency and server load. When a resolver has a record cached (TTL not expired), the response is nearly instant — typically under 10 milliseconds. Without a cached record, the resolver must traverse the DNS hierarchy, which adds 50-200 milliseconds of latency and requires additional queries to authoritative servers.

Higher TTLs mean more cache hits, lower latency, and less load on your authoritative servers. This is especially important for high-traffic websites where millions of DNS queries arrive daily. A TTL of 86400 reduces your authoritative server load to roughly 1/86400th of what a TTL of 1 would require.

You can measure the effect of TTL on your DNS performance using our DNS latency test. Higher TTL values consistently show lower average query times because resolvers can answer more queries from cache.

There is a tradeoff: very high TTLs mean that if your infrastructure changes, users with cached records will be directed to the old (possibly unavailable) IP until the TTL expires. This is why finding the right TTL balance is important — not too high (slow failover) and not too low (excessive query load).

How to Check a DNS Record's TTL

You can check any record's current TTL using our DNS lookup tool. Enter the domain name and record type. The result includes the current TTL value in seconds.

On the command line, use dig to check TTLs:

dig example.com A +noall +answer

The output includes the TTL in the third field. For example, example.com. 3600 IN A 93.184.216.34 means the record has a TTL of 3600 seconds (1 hour).

To track TTL changes over time, run the query multiple times and watch the TTL count down. If you just changed a record and want to verify the new TTL is active, check the current TTL — if it is still counting down from the old value, the old cache has not expired yet.

For a complete view of all records and their TTLs for a domain, use our DNS checker tool to query all common record types at once.