What TTL to Set on MX Records and Why It Matters
Learn what TTL means for MX records, the recommended values for stable vs. migration scenarios, and how to change TTL at your DNS provider.
When you add an MX record at your registrar or DNS provider, there is usually a field called TTL that most people leave at whatever default is pre-filled. It is easy to ignore, and for most of the time (when nothing is changing) it does not matter much. But when you are switching email providers, or when something breaks and you need to fix it fast, TTL becomes critically important.
This guide explains what TTL means, how it affects your email routing, and what values to use in different situations.
What TTL Means
TTL stands for Time to Live. It is a number, measured in seconds, that tells other DNS servers how long they are allowed to cache (remember) your DNS record before they need to fetch a fresh copy.
Think of it this way: when a mail server wants to deliver email to your domain, it does not look up your MX records from scratch every single time. That would be slow and create enormous load on the DNS system. Instead, it checks its local cache first. Your TTL is the instruction you give for how long that cached copy is valid.
A TTL of 3600 means: "Cache this record for 3600 seconds (one hour). After that, throw it away and fetch a fresh copy."
A TTL of 300 means: "Cache this for 5 minutes, then check for updates."
A TTL of 86400 means: "Cache this for 24 hours."
How TTL Affects Email Routing
Under normal, stable conditions, TTL has almost no practical effect. Your MX records are not changing, so whether DNS servers cache them for an hour or a day does not matter; they will get the same answer either way.
TTL becomes critical when you change something. If you update your MX records to point to a new email provider, DNS servers around the internet will continue using their cached copy of your old records until that cache expires. The cache expiration time is determined by the TTL that was set on the old records when they were cached.
This is the counterintuitive part: the TTL you set today affects how quickly your next change will take effect, not the current one. When you update your MX records, the new TTL you set will govern how long the new records get cached, which matters for the change after that.
Recommended TTL Values
For stable, everyday operation: 3600 (one hour)
When your email setup is working correctly and you are not planning any changes, a TTL of 3600 seconds (one hour) is a good balance. It means:
- DNS servers refresh your records at most once an hour
- If you need to make an emergency change, it will propagate within an hour globally
- Not so short that it generates excessive DNS query traffic
Some providers default to 3600, others to 14400 (four hours) or 86400 (24 hours). Any of these is fine for a stable configuration.
Before an email provider migration: 300 (five minutes)
This is the most important use of TTL. Before you switch email providers, lower your MX record TTL well in advance, ideally 24 to 48 hours before the migration.
Here is why: When you eventually change your MX records, DNS servers around the world will keep using their cached copy until the TTL expires. If your current TTL is 86400 (24 hours), some servers might not pick up your new records for a full day after you make the change. During that time, some email will go to your old provider and some to the new one.
By dropping the TTL to 300 well before the migration, you ensure that by the time you make the actual switch, no server has a cached copy that is more than 5 minutes old. Once you make the change, the new records are visible everywhere within minutes.
The process looks like this:
- Two days before migration: change TTL from 3600 to 300
- Wait 24-48 hours for all cached copies with the old TTL to expire
- Make the MX record change to point to your new provider
- New records propagate within 5-10 minutes globally
- After migration is stable: raise TTL back to 3600
After a stable migration: 3600 or higher
Once your email is flowing correctly to the new provider and you are confident in the setup, raise the TTL back to 3600 or even higher. This reduces DNS query load. You do not need the fast-update capability of a low TTL when nothing is changing.
When to Lower TTL
Lower TTL any time you anticipate making changes that need to take effect quickly:
- Before switching email providers
- Before temporarily redirecting email during maintenance
- Before testing a new email configuration
- Any time you might need to roll back a DNS change quickly
When to Raise TTL
Raise TTL when your configuration is stable and you want to reduce DNS overhead:
- After completing a migration and confirming everything works
- When you know you will not be making changes for an extended period
- On records that almost never change (your primary MX records)
How TTL Interacts With DNS Caching
The caching of DNS records happens at multiple levels. When your TTL expires, here is what happens:
A recursive DNS resolver (the DNS server your ISP or company provides) discards its cached copy and queries your domain's authoritative nameservers for a fresh record. That fresh record then gets cached again for the duration of the new TTL.
This means that shortly after you change a DNS record, you might get different answers from different DNS servers. Some still have the old cached record, others have already fetched the new one. This is normal and expected. It is called propagation, and it resolves itself once all cached copies have expired.
How to Check Your Current TTL
The fastest way to see what TTL your MX records are currently set to is to use mxrecordchecker.com. Enter your domain name and the results will show your MX records along with their TTL values. This is a quick sanity check before any planned change.
You can also check in your DNS provider's dashboard. The TTL is usually shown as a column in your DNS records list.
How to Change TTL at Your Registrar
Every DNS provider has a slightly different interface, but the process is generally:
- Log into your DNS provider's dashboard
- Find your domain's DNS records
- Locate the MX record(s) you want to modify
- Click to edit the record
- Change the TTL value to your desired setting
- Save the change
Some providers show TTL in seconds (300, 3600), others let you choose from human-readable options like "5 minutes" or "1 hour." These are equivalent: 5 minutes is 300 seconds, 1 hour is 3600 seconds.
Common Mistakes
Setting TTL too low permanently. A TTL of 60 seconds might seem great for flexibility, but it means every DNS server on the internet needs to re-fetch your records every minute. For popular domains, this generates enormous and unnecessary traffic. Reserve very low TTLs for the period just before a planned change, then raise them again.
Not lowering TTL before a migration. This is the most common expensive mistake. If you change your MX records while still running a high TTL, some users will experience email delivery failures or delays for hours because their DNS servers are still sending to your old provider. Plan ahead and lower the TTL first.
Forgetting to raise TTL after a migration. After everything is working, go back and raise the TTL. Many people do the pre-migration TTL drop correctly and then forget to raise it afterward, leaving their domain running unnecessarily frequent DNS refresh cycles.
Changing the TTL and immediately making other DNS changes. The TTL change itself needs time to propagate. If your current TTL is 24 hours, it will take up to 24 hours for all cached copies with that old TTL to expire, even after you update the TTL value itself. Plan your timing accordingly.