TTL (Time To Live) is a numerical value (measured in seconds) attached to every DNS record that tells DNS resolvers how long to cache that record before fetching a fresh copy. It is the primary mechanism that determines how quickly DNS changes propagate globally.
TTL in plain terms
When a DNS resolver looks up yoursite.com and finds an A record pointing to IP address 198.51.100.1 with a TTL of 3600, it:
- Returns the IP address to the browser
- Caches the result for 3600 seconds (1 hour)
- For the next 3600 seconds, any query for
yoursite.comreturns the cached result without re-checking - After 3600 seconds, it fetches a fresh copy from your nameserver
If you change your A record to a new IP address during that 1-hour cache window, the resolver will not see the change until its TTL expires. This is why DNS changes don’t take effect immediately resolvers around the world have cached the old value with varying amounts of cache time remaining.
Common TTL values
| TTL value | Duration | Use case |
|---|---|---|
| 300 | 5 minutes | Before a planned migration or change |
| 900 | 15 minutes | Production records, balanced propagation |
| 3600 | 1 hour | Standard default for most DNS providers |
| 14400 | 4 hours | Stable records, lower query load |
| 86400 | 24 hours | Very stable records (rarely changes) |
Cloudflare’s default TTL for proxied records is 300 seconds (auto-managed). For unproxied records, the default is typically 1 hour (3600 seconds).
How to use TTL strategically
Before a migration or change:
Lower your TTL to 300 seconds 24–48 hours before making a DNS change. This pre-warms resolvers to check more frequently. When you make the actual change, it propagates in 5–10 minutes rather than the previous TTL period (which could have been 24 hours).
After a successful migration:
Raise the TTL back to 3600 or higher. This reduces the number of DNS queries your nameserver receives (each query is a small load) and means faster resolution for visitors (cached results are served instantly without querying the nameserver).
For MX records (email):
Email MX records should be changed rarely and with high TTLs during normal operation. Before migrating email providers, lower TTL to 300 first a cached wrong MX record means email bounces.
TTL and “DNS propagation”
When people say a DNS change takes “24–48 hours to propagate,” they’re describing TTL expiry. Propagation is not a process of records being pushed out it’s waiting for cached records (with their remaining TTL) to expire globally across all resolvers.
With a 300-second TTL, propagation is 5–10 minutes. With a 86400-second TTL, propagation is up to 24 hours (plus any remaining cache time from before you made the change). The TTL you set determines the propagation speed.
Checking TTL values
You can check current TTL values for any domain’s DNS records with:
dig yoursite.com Ain a terminal (Linux/Mac) ornslookup yoursite.com(Windows)- dnschecker.org visual check across multiple global resolvers
- whatsmydns.net shows the propagation status of recent changes
Both online tools show you the current cached value at different resolvers around the world useful for confirming that a change has propagated or is still in progress.
See also: DNS propagation · Nameserver · EPP code