How to Check DNS Propagation
Use dig, nslookup and whatsmydns.net to see which resolvers already return your new DNS record, and read the TTL to know how long the old one can stay cached.
You changed a DNS record and the site still points at the old server, or a new domain does not resolve yet. These commands show what resolvers currently return and how long stale answers can linger.
Query the record from your machine
dig +short yourdomain.com
Add a record type to check something other than the A record:
dig +short yourdomain.com MX
On Windows, which does not ship dig:
nslookup yourdomain.com
nslookup -type=MX yourdomain.com
Ask a specific resolver
Your ISP's resolver can hold the old value while public resolvers have moved on. Query them directly:
dig @1.1.1.1 +short yourdomain.com
dig @8.8.8.8 +short yourdomain.com
To see the live value with no caching at all, ask the domain's own nameservers. List them, then query one:
dig +short NS yourdomain.com
dig @ns1.yourdomain.com +short yourdomain.com
Replace ns1.yourdomain.com with a name from the first command's output. If the nameserver returns the new value and everything else returns the old one, the change is correct and only caches are behind.
Check worldwide results
Open whatsmydns.net, enter the domain, choose the record type (A, CNAME, MX, TXT) and press Search. Each location shows what its resolver returns. A mix of old and new values means propagation is still in progress; all new means it is done.
Read the TTL
dig yourdomain.com
In the ANSWER SECTION, the number after the name is the TTL in seconds:
yourdomain.com. 3600 IN A 203.0.113.10
Any resolver that cached the old record keeps it for up to that long. Run the command twice against the same resolver: if the number counts down, that resolver is serving from cache and the value expires when it reaches zero.
Before a planned change. Lower the TTL to 300 at least a day ahead. The old TTL has to expire before the new, shorter one takes effect everywhere. Make the change, confirm it, then raise the TTL again.
If only your machine is stale. Flush the local cache. macOS: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder. Windows: ipconfig /flushdns. Then restart the browser, which keeps a cache of its own.
More Websites how-tos
- How to Add a Favicon to a Website
- How to Add a Website to Bing Webmaster Tools
- How to Add a Website to Google Search Console
- How to Add Alt Text to Images
- How to Add Google Analytics to a Website
- How to Add Open Graph Tags to a Website
- How to Add Structured Data to a Web Page
- How to Check If a Website Is Indexed by Google
- How to Compress Images for a Website
- How to Connect a Domain to Vercel
- How to Create a Sitemap for a Website
- How to Make a Website Mobile-Friendly
- How to Move a Domain to Cloudflare DNS
- How to Redirect www to non-www
- How to Set a Canonical URL
- How to Set Up a 301 Redirect
- How to Set Up Email Forwarding for a Domain
- How to Write a Meta Description
- How to Write a robots.txt File