DNS & Connecting Services

TTL in DNS: What It Means and What to Set — 2026 Guide

391 VIEWS
1 COMMENTS
October 16, 2026

TTL stands for time to live. On a DNS record it is a number of seconds that tells every resolver how long it may keep a copy of the answer before asking your nameservers again. A TTL of 3600 means one hour; 300 means five minutes; 86400 means a day. It is the fourth field on every record, next to name, type and value, and it is the single setting that decides how quickly a DNS change reaches the world and how much load your nameservers carry in between.

Nothing else in DNS is traded off so plainly. A short TTL makes changes fast and lookups frequent. A long TTL makes lookups rare and changes slow. There is no right number for all records, but there is a right number for each situation, and the situations are few.

MailShrine Domains sets a default TTL of 3600 seconds on records in its Anycast DNS editor and lets you change it per record. The email records written for Business Email use the same default, which is why MX and DKIM changes settle within an hour.


Real-life example: Lena's SaaS

Lena Fischer runs a small scheduling SaaS from Berlin. Her domain fischerplan.io is on MailShrine. She is about to move the app from one cloud provider to another and has read that she should "lower the TTL first". She also noticed her DNS editor shows some records at 3600 and one old record at 86400, and a colleague told her to set everything to 60 "to be safe". She wants to know what each number costs her and when to set which.

Lena's goals:

  1. Make the server move complete in minutes, not hours.
  2. Choose sensible TTLs for records that rarely change.
  3. Understand what the TTL does not control.

Common TTL values and what they mean

TTL (seconds)HumanChange visible worldwide withinGood for
601 minute~1 minuteFailover records, active migrations, nothing else
3005 minutes~5 minutesThe day before and during a planned change
36001 hour~1 hourDefault for most records; MailShrine's default
144004 hours~4 hoursStable website records on busy domains
864001 day~1 dayMX, NS and records you have not changed in years
1728002 days~2 daysRegistry-published NS delegations; rarely set by you
Timeline showing a record with a 3600 TTL versus a 300 TTL, with the shorter one reaching all resolvers in minutes
Timeline showing a record with a 3600 TTL versus a 300 TTL, with the shorter one reaching all resolvers in minutes

The "visible within" column is the maximum. Most resolvers refresh sooner, but you plan for the slowest.


The lowering trick, explained properly

The TTL that matters for a change is the TTL that was on the record before you changed it. Resolvers cached the old answer with the old TTL; they do not know you edited anything until that timer runs out. So:

  1. A day before the move, change only the TTL on the affected record from 3600 to 300. The value stays the same.
  2. Wait at least the old TTL (one hour, in Lena's case) so every resolver has refreshed and now holds a 300-second copy.
  3. Make the real change to the value. Every resolver re-asks within five minutes and gets the new address.
  4. After the move is confirmed, raise the TTL back to 3600 or higher.

Change the TTL and the value in the same edit and you gain nothing; the old copies still expire on the old timer.


What TTL does not control

  • Nameserver changes. The parent registry publishes its own NS records for your domain with its own TTL, commonly 172800 seconds. You cannot shorten that from your zone.
  • Negative caching. When a name does not exist, resolvers cache the "no such name" answer for the SOA record's minimum field, not the TTL of a record that is not there yet. Typical values are 300 to 3600.
  • Browser and OS behaviour. Some operating systems cap TTLs they honour; Chrome keeps its own short cache regardless of your TTL.
  • Mail retry. Sending servers retry failed deliveries for up to 72 hours. A low TTL on MX does not make mail arrive faster; it only makes a change of mail host propagate faster.

What you need before you start

You needWhy
A list of which records will change and whenOnly those need a short TTL.
The current TTL on eachDetermines how long before the short value is active everywhere.
Access to the MailShrine DNS editorTTL is edited per record there.
A calendar reminder to raise it againShort TTLs left in place for years multiply query load for no benefit.

Step 1: Audit the current TTLs

Open the zone and note the TTL on each record. Anything at 60 that is not actively being migrated should go up. Anything at 86400 that you expect to change soon should come down in advance.

Step 2: Lower the TTL on records you will change

For Lena, that is the A record on @, the A on www and the CNAME on app. Set each to 300. Leave MX, TXT and everything else alone.

Step 3: Wait out the old TTL

If the records were at 3600, wait at least an hour. If one was at 86400, that record needs a full day before its short TTL is universal. Start the day before to be safe.

Step 4: Change the values

Point the three records at the new provider. Check dig A fischerplan.io +short @1.1.1.1 after five minutes; it should show the new address.

Step 5: Confirm, then raise the TTL

Once the new server has been receiving all traffic for a few hours and nothing needs reverting, set the TTLs back to 3600. For records you never expect to touch, 14400 or 86400 is reasonable.

Step 6: Set sensible defaults for the rest

MX, SPF, DKIM, DMARC and NS records at 3600 to 86400. Website A/CNAME records at 3600. Short TTLs only during planned changes.


Lena's checklist

  • Audited every record's TTL in the MailShrine editorCompleted
  • Lowered @, www and app to 300 the day before the moveCompleted
  • Waited the old TTL before changing valuesCompleted
  • Switched the records to the new cloud provider's addressesNot completed
  • Confirmed with public resolvers within five minutesNot completed
  • Raised TTLs back to 3600 after the move was stableNot completed

Common mistakes

Setting every record to 60 permanently. Every visitor's resolver re-queries your nameservers every minute. Nothing is faster for visitors; the nameservers simply work harder, and a nameserver outage is felt within a minute instead of being masked by caches.

Lowering the TTL at the same moment as the change. The old cached copies keep their old expiry. The short TTL only helps the following change.

Assuming a low TTL makes a nameserver change fast. The registry's delegation TTL governs that and you do not control it.

Leaving a migration TTL in place for years. Set a reminder to raise it. Short TTLs are a tool, not a resting state.

Expecting an instant change from a record that was at 86400. You must wait a full day after lowering before the short TTL is in effect everywhere.


Check your work

Run dig A fischerplan.io without +short and read the number after the name in the answer section; that is the remaining TTL as seen by your resolver. Run it twice a minute apart and the number should fall. Query the authoritative server directly to see the full TTL you set. If the authoritative TTL is what you intended and public resolvers are counting down from it, the setting is in effect.


FAQ

What is a good default TTL?

3600 seconds (one hour) suits most records. It balances fast changes against query load, which is why MailShrine uses it as the default.

Should MX records have a low TTL?

No. Mail hosts change rarely and sending servers retry for days anyway. 3600 to 86400 is appropriate; lower it only before a planned mail migration.

Does a shorter TTL slow down my website?

Slightly, for visitors whose resolver has to re-query more often. Each extra lookup costs tens of milliseconds. At 300 or above the effect is negligible; at 60 it starts to show on first page loads.

Can I set a TTL of 0?

Technically yes, meaning "do not cache". In practice many resolvers ignore it or apply a minimum, and it generates a query for every single request. Use 60 if you need near-instant updates during a failover.

Why does my resolver show a different TTL from the one I set?

You are seeing the remaining time on its cached copy, counting down from your value. Query the authoritative nameserver to see the original.


Next steps

Related on YouTube · 1 of 3
Everything You Need to Know About DNS: Crash Course System Design #4

Citations & References


Written by Marcus T., DNS and deliverability editor. Marcus lowers a TTL the day before every migration and raises it the day after, without exception.

Discussion

F

Femi L.

October 14, 2026

Followed the steps for my own domain this morning and it worked as described.

MailShrine Domains

Your domain. Your email. One checkout.

Register any name on 150+ extensions. WHOIS privacy, transfer lock, Anycast DNS and two business mailboxes are included, not upsold.

Search your domain