How DNS caching works
When someone visits your site, their device asks a resolver (usually run by their internet provider, or a public one like 1.1.1.1) for your domain's records. The resolver asks your DNS host, then saves the answer for as long as the record's TTL (time to live) says, in seconds. Until that time runs out, it keeps giving the saved answer without asking again.
Different caches expire at different times. A previous TTL of 3600 permits a cached answer for an hour, while 86400 permits a day. Resolver policy, negative caching, delegation changes and application caches can affect what you observe; a TTL is not a deadline for every device to update.
Step 1: Check what your DNS host is actually serving
Run the DNS Lookup on your domain with The domain's nameservers selected under Advanced options. That asks your DNS host directly, so it shows the record as it is now, without caches in the way.
- It shows the new value: the change is live. Anyone still seeing the old value has a cached copy. Go to step 3.
- It shows the old value: the change did not save, or you made it at a DNS host your domain does not use. Go to step 2.
Step 2: Make sure you edited the right DNS host
Your domain's nameservers decide which company's DNS is used. It is easy to edit records at your registrar when the domain actually uses Cloudflare, or the other way round.
- Look up the nameservers with the WHOIS Lookup or the NS records in the DNS Lookup.
- Log in to the company those nameservers belong to (for example,
*.ns.cloudflare.commeans Cloudflare) and make the change there. - If you just changed the nameservers themselves, that change goes through the registry for your domain's extension, and resolvers may keep the old nameservers for up to 48 hours.
Step 3: Watch the old answer expire
Open the DNS Propagation Checker. It asks 16 public resolvers from our server and groups their answers. The providers use separate caches; anycast can route each query to a nearby node. This is not a test from 16 countries. Remaining TTL values help explain a cached answer, without guaranteeing when a particular visitor will see a change.
Step 4: Clear the cache on your own device
Your computer and browser keep their own copies too. If the checker shows the new value everywhere but you still see the old one:
| System | Command |
|---|---|
| Windows | ipconfig /flushdns |
| macOS | sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder |
| Linux with systemd-resolved | resolvectl flush-caches |
| Chrome | chrome://net-internals/#dns, then "Clear host cache" |
Your router may cache answers too. Restarting it clears that.
Next time: lower the TTL first
Before a planned move, lower the relevant TTL and allow the old TTL to expire before changing the address. A TTL of 300 permits a fresh lookup after five minutes when an answer is needed; it does not schedule every resolver to poll at that interval. Retest authoritative and recursive answers, then raise the TTL when the change is stable.
Lowering the TTL only helps after the old TTL has run out. Lowering it at the same moment as the change makes no difference to caches that already hold the old record.
Questions
Is there a way to force propagation?
Not for the whole internet. Some public resolvers, including Google and Cloudflare, have a page where you can ask them to drop a cached record, which helps for testing. Everyone else updates when their cache expires.
Why does my phone show the new site but my laptop shows the old one?
They use different resolvers. A phone on mobile data uses the carrier's resolver, while your laptop uses your home router's. Each keeps its own cache.
My email stopped working after a DNS change. What happened?
Compare the records at the old and new DNS hosts. Use MX Lookup for receiving mail, SPF Checker, DMARC Checker and DKIM Checker with the sending service's selector. The email DNS report groups these checks.
Sources and retest
Retest the same record and resolver after the old TTL expires. See Cloudflare's TTL explanation and Google Public DNS cache guidance. Reviewed by NosHost on 26 October 2026.