Server

DNS Propagation Checker

Check whether a DNS record has propagated by querying it against Google, Cloudflare, Quad9, OpenDNS, and Verisign in parallel.

What is DNS propagation?

Reviewed by Prabath Thalangama · Last updated

DNS propagation is the time it takes for a changed DNS record to replace the old one in resolver caches around the internet. Nothing is pushed out; each resolver keeps the old answer until its TTL expires. This checker asks major public resolvers for the same record so you can see which already return the new value.

The tool queries Google Public DNS (8.8.8.8), Cloudflare (1.1.1.1), Quad9 (9.9.9.9), OpenDNS and Verisign side by side and compares the answers. These are anycast networks, so each answer comes from the node closest to our server. Between them they serve a large share of internet users, which makes agreement a good sign the change is visible to most people.

If one resolver still shows the old value, it is almost always a cache that has not expired yet. If they disagree for longer than the old record's TTL, the change was probably made somewhere the domain does not actually use.

How do I check DNS propagation?

  1. Enter the domain or host name and pick the record type you changed (A, AAAA, CNAME, MX, TXT, NS...).
  2. Compare the answer from each resolver with the value you set.
  3. If they differ, wait for the old TTL to pass and check again. If one never updates, verify the record at your authoritative nameservers.

How to read the results

Resolver
The public DNS service queried and its address.
Answer
The record value that resolver returned right now.
Findings
Whether the resolvers disagree with each other, and whether any did not respond.

Why hasn't my DNS change propagated?

The old record's TTL was long

A resolver that cached the old record with a TTL of 86400 can keep serving it for up to 24 hours. Lower the TTL (for example to 300) a day before a planned change, then raise it again afterwards.

You edited the wrong DNS provider

If the domain's nameservers point at Cloudflare but you changed the record at your registrar's DNS, nobody will ever see it. Check the NS records first and edit the zone at that provider.

dig +short NS example.com
# then query the authoritative server directly
dig @ns1.your-dns-provider.com example.com A +short

Nameserver changes take longer

Changing a domain's nameservers is a change at the TLD registry, and parent zones often use a 1 to 2 day TTL for NS records, so allow up to 48 hours.

Examples and command-line equivalents

Query the same public resolvers yourself

dig @8.8.8.8 example.com A +short
dig @1.1.1.1 example.com A +short
dig @9.9.9.9 example.com A +short

See the remaining cache time (TTL)

The second column is the seconds left before this resolver asks again.

dig @8.8.8.8 example.com A +noall +answer

Bypass caches and follow the delegation from the root

dig +trace example.com A

Clear your own computer's DNS cache

# Windows
ipconfig /flushdns
# Linux (systemd-resolved)
resolvectl flush-caches
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Frequently asked questions

How long does DNS propagation take?

As long as the old record's TTL, typically 5 minutes to 1 hour for normal records and up to 48 hours for nameserver changes. The new value is visible immediately at your authoritative nameservers.

Can I force DNS propagation?

Not for other people's resolvers. You can flush your own cache, and Google Public DNS and Cloudflare offer cache-purge pages for individual names. Planning ahead with a low TTL is the only reliable way to make changes fast.

Why do I see the new record but my colleague sees the old one?

You are probably using different resolvers (your ISP, your office DNS, a VPN) that cached the record at different times. Each one updates when its own cached copy expires.

Further reading

All DNS tools →