NetDigLearnDNS
5 min read

What Is DNS TTL?

TTL (Time To Live) is the number of seconds DNS resolvers cache a record before re-querying. It controls how fast your DNS changes propagate worldwide.

TTL Basics

Every DNS record has a TTL value measured in seconds. When a resolver looks up your domain and gets the answer, it caches that answer for TTL seconds. During that window, any further queries for the same record are answered from cache without hitting your authoritative nameserver.

A TTL of 3600 means the record is cached for 1 hour. A TTL of 86400 means 24 hours. A TTL of 300 means 5 minutes.

What Happens When You Change a DNS Record

When you update a DNS record, the change is immediately visible on your authoritative nameserver. But every resolver that already has the old record cached will keep serving the old value until the TTL expires. This is why DNS changes don't take effect instantly everywhere — the delay is up to the TTL of the old record.

With a 24-hour TTL, some users could see your old IP for up to 24 hours after you make a change. With a 5-minute TTL, everyone sees the new value within 5 minutes.

Recommended TTL Values

  • 3600 (1 hour) — good default for most records
  • 86400 (24 hours) — for very stable records like MX
  • 300 (5 minutes) — use before planned migrations
  • 1 — use with Cloudflare proxied records (Cloudflare manages caching)

TTL and DNS Migrations

Before changing any DNS record, lower the TTL to 300 seconds first. Wait for the old TTL duration to expire (so all caches have fetched the new low TTL), then make your change. Maximum propagation delay drops from hours to 5 minutes.

After the migration is confirmed working, raise TTL back to 3600.

Plan your migration: Use the DNS TTL Migration Planner to get a step-by-step countdown with exact timestamps for your specific TTL and cutover date.

SOA Minimum TTL

The SOA (Start of Authority) record has a "minimum TTL" field that sets a floor for negative caching — how long resolvers cache "this record doesn't exist" responses. This is separate from the TTL on positive records.

For most records, 3600 seconds (1 hour) is a sensible default. Use 86400 for very stable records like MX. Lower to 300 before planned changes.

Lower TTL means more queries hit your authoritative nameserver since caches expire faster. For high-traffic domains this adds load, but for most sites the difference is negligible.

Technically yes, but most providers have a minimum (usually 60 or 300 seconds). A TTL of 0 would mean every DNS query hits the authoritative server directly — not practical at scale.