What TTL actually controls
TTL is a number of seconds attached to each record that tells resolvers how long they may cache it. [2] [5] Nothing is pushed out when you save a change. Your DNS host starts answering with the new value at once, while every resolver that cached the old answer keeps serving it until its copy expires.
Cloudflare states the trade-off: longer TTLs make lookups faster through caching, but updates take longer to take effect. [2] It also warns that changes can take longer than the TTL to appear, because local caches may refresh slowly. [2] Namecheap's default TTL is 30 minutes (5 minutes for ALIAS records); Cloudflare's Auto is 300 seconds. [3] [2]
Why nameserver changes take longer than record changes
A record edit happens inside a zone you control, so the TTL you set is the TTL caches obey. A nameserver change happens one level up, at the registry, and resolvers also cache which nameservers are responsible for your domain. Those delegation records carry TTLs set outside your zone, which is why lowering your own record TTLs does not make a nameserver switch instant.
The vendor estimates reflect this. Namecheap says a nameserver change may take up to 24 hours, more in rare cases [4], and its propagation article says up to 24 to 48 hours, because ISPs refresh their caches on different schedules. [1] Cloudflare tells new users to wait up to 24 hours while the registrar updates the nameservers. [7]
| Change | What has to expire | Typical wait per vendor docs |
|---|---|---|
| Edit an A, CNAME, MX or TXT value | The old record's TTL | About one TTL; Namecheap default 30 minutes [3] |
| Add a brand-new record | Any cached "does not exist" answer | Often minutes; Namecheap says Private Email DKIM changes take up to 60 minutes [8] |
| Change nameservers | Delegation cached by resolvers | Up to 24 hours [4] [7]; up to 24 to 48 hours [1] |
| Namecheap URL redirect | Redirect service update | Usually around 30 minutes [9] |
Lower TTL before a planned move
The trick is timing. Lowering a TTL only helps once the old, longer TTL has expired from caches, so you lower it first and wait. Namecheap's own recommendation for a server move is to set a low TTL such as 300 seconds on the A record at your current DNS provider, and to wait up to 30 minutes after the A record update before changing nameservers. [1]
Worked example: your A record has a 30-minute TTL and you are moving the site at 9:00 PM. At 7:00 PM, set the TTL to 5 minutes. By 7:30 PM every cache holding the 30-minute copy has expired. At 9:00 PM, change the IP. Worst case, a visitor sees the old server until about 9:05 PM. After a day of stable traffic, raise the TTL back to the default.
| When | Action |
|---|---|
| A day before, or at least one old TTL before | Lower TTL on records you will change to about 300 seconds [1] |
| Before the change | Wait at least the old TTL; Namecheap suggests up to 30 minutes [1] |
| Cutover | Change the record value, or nameservers |
| Right after | Check authoritative and public resolvers (next section) |
| Next day | Restore the normal TTL |
Command-line checks
Namecheap suggests nslookup, ping and traceroute to see which IP your machine resolves; if it matches the new server, propagation is likely complete for you. [1] dig, built into macOS and Linux, gives more detail, including the remaining TTL on each answer. Replace example.com with your domain.
- dig +short example.com A shows what your own resolver returns now.
- dig example.com A @8.8.8.8 and dig example.com A @1.1.1.1 ask two large public resolvers; the number in the answer column is the seconds left before they refresh.
- dig NS example.com +short shows which nameservers are delegated. After a nameserver change, this is the first thing that must change.
- dig example.com MX @ns1.yourdnshost.example asks the authoritative server directly. If it shows the new value, your change is saved correctly and only caches remain.
- dig TXT _dmarc.example.com +short confirms an email policy record.
- nslookup example.com 8.8.8.8 is the Windows equivalent. [1]
Web checks and cache flushes
Namecheap points to online DNS checkers and Google's Admin Toolbox Dig. [1] Namecheap also says there is no definitive way to tell when propagation is complete for you. [1]
For your own view, Namecheap suggests clearing the browser cache, flushing the local DNS cache, or switching to Google Public DNS and using Google's Flush Cache tool. [1] Google says that if a domain's registrar or DNS host changed recently, flush the main domain first, then subdomains. [6] As a last resort, Namecheap describes editing your hosts file to point the domain at the new IP, which affects only your computer, and advises removing the entry 48 hours later. [1]
Troubleshooting a slow cutover
| Symptom | Likely cause | Check |
|---|---|---|
| Authoritative server shows old value | Change saved at the wrong DNS host | dig NS to see which host is live |
| Some visitors still on old site after hours | Old TTL was long, or IPv6 AAAA not updated | dig AAAA; review the TTL you started with |
| Mail arrives at old provider | Cached MX, or old MX row left in place | dig MX at authoritative and public resolvers |
| Nameserver change not visible after a day | Typo in nameserver names, or DNSSEC still on | Re-check the names character by character; Cloudflare says turn DNSSEC off at the registrar first [7] |
| Online checkers disagree with dig | Different resolvers and locations still hold different cached copies [1] | Trust the authoritative answer |
Questions before you decide
Why does my change show for me but not for a colleague?
Each resolver caches the old answer until its TTL expires, and Namecheap notes completion depends on TTL, the ISP and location. Your resolver may have refreshed while your colleague's has not.
Can I force propagation?
You can only clear caches you control or that offer a tool. Namecheap suggests flushing your local DNS cache, and Google Public DNS has a Flush Cache page; Google says to flush the main domain first if the DNS host changed.
Is there a minimum TTL?
It depends on the host. Cloudflare allows 60 seconds on non-Enterprise plans and 30 on Enterprise, up to a maximum of 1 day; proxied records are fixed at 300 seconds. Namecheap's default is 30 minutes.
How do I know propagation is complete?
Namecheap says there is no definitive way to tell. Query several public resolvers and the authoritative nameserver; when they all return the new value, the remaining stale caches are expiring on their own.
Sources & verification
Product details and prices can change. Check the linked provider before buying.
- Namecheap Knowledgebase: DNS propagation explained Accessed 30 Oct 2026
- Cloudflare DNS docs: Time to Live (TTL) Accessed 30 Oct 2026
- Namecheap Knowledgebase: How do I set up host records for a domain? Accessed 30 Oct 2026
- Namecheap Knowledgebase: How to change DNS for a domain Accessed 30 Oct 2026
- RFC 2181: Clarifications to the DNS Specification Accessed 30 Oct 2026
- Google Public DNS: Flush Cache Accessed 30 Oct 2026
- Cloudflare DNS docs: Full setup Accessed 30 Oct 2026
- Namecheap Knowledgebase: How to set up a DKIM record for Private Email Accessed 30 Oct 2026
- Namecheap Knowledgebase: How to set up a URL redirect for a domain Accessed 30 Oct 2026
Sources link directly to providers. Product buttons may use separately labeled affiliate links. Read our disclosure.
