ItsMyIp

DNS propagation checker

The same query asked in parallel to five public resolvers — Cloudflare, Google, AdGuard, DNS.SB, AliDNS — to see whether your DNS change is visible everywhere.

01What is DNS propagation?

When you change a DNS record — new host, new IP, an added SPF — the whole world does not see it instantly: every resolver keeps the old value cached until its TTL expires. During that window, part of the Internet sees the old answer and part sees the new one: that is propagation.

This tool asks the same question to five public resolvers run by different operators (including one in Asia) and compares their answers. As long as they diverge, propagation is still under way. To inspect the zone in detail (SOA, DNSSEC, all record types), use our DNS lookup.

02Understanding the results

TTL
Time To Live: how long (in seconds) a resolver may cache the answer. A TTL of 3600 = up to one hour of propagation after a change.
Agreeing
The resolver returns the same answer as the majority: it has the “propagated” value.
Diverging
The resolver returns something else (often the old value still cached) — wait for the TTL to expire.
Empty
No record of this type for this name: it either does not exist or has not been created everywhere yet.
Anycast
Each “resolver” is actually a worldwide network of servers: the answer may vary depending on the entry point queried.

03From the command line

The same URL as this page answers in plain text for curl — handy to watch a propagation in a loop — and the JSON API returns per-resolver detail (open CORS):

$ curl "its-my-ip.com/propagation?name=exemple.fr&type=A"
cloudflare	OK	203.0.113.42	12ms
google	OK	203.0.113.42	18ms
alidns	DIFF	198.51.100.7	161ms
consensus: 4/5
$ curl "its-my-ip.com/api/propagation?name=exemple.fr&type=A"
{ "agreeing": 4, "results": [ { "resolver": "Cloudflare", … } ] }

04Frequently asked questions

How long does DNS propagation take?

It depends on the TTL of the record you changed: most zones use between 300 s (5 min) and 86,400 s (24 h). Resolvers that had the value cached keep it until that TTL expires. Tip: lower the TTL to 300 a few hours before an important change, then raise it back afterwards.

Why don't all resolvers return the same answer?

Each one queried the zone at a different moment and keeps its copy until the TTL expires. Add geo-DNS (different answers per region, common with CDNs), round-robin (several IPs returned in varying order — the tool sorts answers to neutralize this) and the internal caches of each anycast network.

Can I speed up propagation?

Not on the Internet side: you cannot flush the caches of every resolver in the world. You can however purge your own cache (Cloudflare and Google offer public “purge cache” pages for their resolvers) and your machine's (ipconfig /flushdns, resolvectl flush-caches). The real fix is a low TTL before the change.

All resolvers agree but my site still shows the old version. Why?

DNS has propagated, but other caches remain: your browser's, your OS's, your router's, or the site's own HTTP cache (CDN, proxy). Test in private browsing, from another network (cellular), or with curl --resolve to force the new IP.

Why only five resolvers?

These are the major public resolvers exposing a JSON API over HTTPS (Quad9, OpenDNS and Mullvad only serve the binary wire format). Five independent operators, including one in Asia, are enough to detect an ongoing propagation: if one of them diverges, other caches somewhere diverge too.

05More network tools