TTL is a value on every DNS record that tells resolvers and clients how long they may cache it before fetching a fresh copy from the authoritative nameserver. It is specified in seconds and is the primary mechanism governing how quickly DNS changes take effect globally.
When a recursive resolver fetches a record from an authoritative nameserver, it stores the result in its cache along with the TTL. It serves this cached answer to clients without querying the authoritative server again until the TTL countdown reaches zero. At that point, the resolver discards the cached entry and fetches a fresh copy on the next request.
A TTL of 3600 means the record can be cached for one hour. A TTL of 300 means five minutes. The value is decremented as it passes through intermediate resolvers — if a record with a 3600-second TTL was fetched 900 seconds ago, the next resolver to receive it will see a TTL of 2700 and cache it for only that long.
"DNS propagation" is commonly misunderstood as DNS changes spreading outward from a central point. What actually happens is simpler: each resolver that has cached your record holds onto it until its TTL expires. After that, the resolver fetches the new value. There is no active push — resolvers simply stop serving stale cache entries as their TTLs run out.
This means the maximum time for a change to reach all resolvers is equal to the TTL that was set on the old record at the moment you made the change. If your A record had a TTL of 86400 (one day) when you changed it, some resolvers may serve the old address for up to 24 hours. Resolvers that happened to cache it recently will hold it the longest.
When planning a change that needs to take effect quickly — such as moving a service to a new IP address or switching DNS providers — lower the TTL well before you make the change. A recommended approach:
This pattern eliminates most of the propagation delay associated with DNS changes. It does increase the query load on your authoritative nameservers during the low-TTL window, since resolvers must re-query more frequently.
Standard record TTLs cover positive answers — records that exist. For negative answers (responses to queries for names that do not exist), the caching duration is controlled separately by the Minimum TTL field in the zone's SOA record. When a resolver receives an NXDOMAIN response, it caches the nonexistence for the duration specified there. Setting the SOA Minimum TTL too high means newly created records may not be visible to resolvers that recently cached an NXDOMAIN for that name.
Look up DNS record TTLs for any domain
Open DNS Lookup