DNS Record TTL Expiry Calculator
Paste DNS records (TYPE TTL name) and see exactly when each cached copy expires, the live countdown remaining, and the safe propagation window (TTL x 2). Includes an optional TTL-reduction schedule for planning migrations.
Input
One DNS record per line as TYPE TTL [name] (TTL in seconds). Lines starting with # or ; are ignored.
When the records were last fetched/served. Leave blank to use the current time.
The instant to measure the countdown against. Leave blank to use the current time.
Output
| Type | Name | TTL | Expires At (UTC) | Countdown | Safe Window (TTL x2) |
|---|---|---|---|---|---|
| No data yet | |||||
Guides
The DNS Record TTL Expiry Calculator turns a list of DNS records into a clear expiry timeline. Paste your records, tell it when they were last fetched, and it works out the exact moment each cached copy expires, how much of the countdown is left, and the safe propagation window (TTL × 2) you should wait before assuming a change has taken effect everywhere.
It is built for the moment before and after a DNS change — a migration, a failover, a mail (MX) cutover — when the real question is not "what is the TTL?" but "when can I trust that the old value has drained from every resolver's cache?"
How to use it
Enter your records, one per line, in the format
TYPE TTL [name]. For example:A 3600 example.com CNAME 300 www.example.com MX 14400 example.com TXT 86400 _dmarc.example.comTTL is in seconds. Lines starting with
#or;are treated as comments and skipped. Zone-file styleTTL TYPE nameordering is also accepted.Set "Fetched At" to the time the records were last served or looked up (for example the moment you ran
dig). Leave it blank to use the current time.Optionally set "Evaluation Time (now)" to snapshot the countdown at a specific instant. Leave it blank to measure against the current clock.
Read the summary (records parsed, overall status, next expiry, and when everything is clear) and the expiry breakdown table (per-record expiry time, countdown, and safe window). Tick "Show recommended TTL reduction schedule" to get a step-by-step migration checklist.
What the numbers mean
- Expires At —
Fetched At + TTL. After this instant a compliant resolver must re-query rather than serve the cached answer. - Countdown — time left until expiry, or how long ago it expired.
- Safe Window (TTL × 2) — a conservative propagation window. Because a resolver can fetch a record one second before you change it, the old value can survive for up to a full extra TTL, so doubling the TTL is the widely used rule of thumb before you assume full propagation.
What DNS record types are supported?
Common types are recognised, including A, AAAA, CNAME, MX, TXT, NS, SOA, PTR, SRV, CAA, DS, DNSKEY, TLSA, SSHFP, NAPTR, SPF, HTTPS, SVCB and ALIAS. Unknown types on a line are reported as an issue and that line is skipped.
Why lower TTLs before a migration?
If a record has a 24-hour TTL and you change it, some resolvers may keep serving the old value for up to 24 hours. Lowering the TTL well in advance (down to 300s, say) shrinks that window to minutes, so the actual cutover propagates fast. The optional schedule lays out this lower-then-change-then-restore sequence based on your largest TTL.
Is the maximum TTL really capped?
Yes. RFC 2181 limits a TTL to a signed 32-bit integer (2,147,483,647 seconds). Larger values are flagged as invalid.
Does it perform a live DNS lookup?
No. It does not query any nameserver — you supply the TTL values yourself. That keeps the tool instant, offline-friendly and private.
Privacy
Everything runs entirely in your browser. The DNS records and timestamps you enter never leave your device, are not sent to any server, and are not logged or stored.