FAQ Domains & DNS

What is a DNS TTL?

The number of seconds a DNS answer is allowed to be cached before it has to be checked again, and why it decides how fast a change spreads.

Updated 4 min read Beginner

TTL stands for Time To Live, and it is a number, in seconds, attached to every DNS record that tells other servers how long they are allowed to remember the answer before asking again. A TTL of 3600 means an hour; 86400 means a full day. It is set per record, not once for the whole domain, so an A record and an MX record on the same domain can have completely different TTLs.

Why it exists

Looking up a DNS record from scratch every single time would be slow and would put unnecessary load on nameservers that answer the same question millions of times a day. Caching solves that — but caching needs an expiry, or resolvers would keep serving an answer forever, long after it stopped being true. TTL is that expiry, chosen by whoever manages the record.

What a longer or shorter TTL trades off

TTLTrade-off
Longer (a day or more)Faster for everyday visitors, since more of them get a cached answer instead of a fresh lookup. Slower to update if you ever need to change the record.
Shorter (five minutes or less)Slightly more lookup traffic day to day, which rarely matters in practice. Any change you make spreads to the rest of the world almost immediately.

Most records are fine left at whatever default your control panel sets, usually somewhere between one and 24 hours. It only becomes worth actively managing when you are about to make a change.

Using it before a planned change

If you know in advance that a record is about to change — moving hosting, switching a mail provider — lower its TTL to something short, like 300 seconds, and wait for the old TTL to fully expire before making the actual change. If the old TTL was 86400 seconds, that means waiting a full day after lowering it. Only then is the short TTL guaranteed to be what resolvers have cached, and only then will the real change spread in minutes instead of hours.

Put it back afterwards

Once everything has settled, raise the TTL back to its normal value. There is no benefit to leaving it permanently low, and a very short TTL indefinitely does add a small, constant amount of extra lookup traffic for no ongoing reason.

Why lowering it after the fact does not help

Editing the TTL on the same request as the actual change is too late — resolvers that already cached the record at its old TTL will keep serving the old answer for however long that original TTL specified, regardless of what the new record now says. The lower TTL only takes effect once resolvers ask again, which will not happen until their existing cache expires. This is the most common reason someone lowers a TTL "just in case" during a migration and it appears to do nothing.

Does TTL guarantee the timing?

Not exactly. TTL is an instruction, not an enforceable rule, and some resolvers — particularly certain ISPs — cache records longer than they are told to. There is nothing you or your host can do about a resolver that ignores TTL values, and it is the usual explanation when one person still sees an old site or an old mail server after everyone else has moved on. See how long DNS propagation takes for what to expect and how to check progress properly.

Related reading