Free DNS Propagation Checker
Query six global DNS resolvers (Cloudflare, Google, Quad9, OpenDNS, NextDNS and AdGuard) at once and see whether your change has reached them. Matching answers everywhere means the change has cleared their caches. No signup.
How it works
Pick a hostname and record type
A, AAAA, CNAME, MX, TXT, or NS — anything that propagates.
We hit all resolvers in parallel
DoH (DNS-over-HTTPS) queries to 6 public resolvers; results return within seconds.
Read consistency at a glance
Same answers everywhere → propagated. Different answers → still rolling out. Easy.
Nothing actually propagates
The name is misleading and it causes most of the confusion around it. There is no push, no replication and no queue draining out across the internet. The moment you save a record, your authoritative nameservers serve the new answer to anyone who asks. Every one of them, immediately.
What you are waiting for is the opposite: resolvers that already asked, cached the answer, and will not ask again until that cached copy expires. DNS propagation is cache expiry with a misleading name, and that single reframing answers most of the questions people bring to a tool like this one.
It also tells you what the tool can and cannot show you. Six public resolvers agreeing means those six have the new answer. It says nothing about the specific corporate resolver your customer sits behind.
The TTL that governs your change is the old record's
This is the part that costs people a day. The TTL a resolver honours is the one attached to the answer it already cached, which is the value that was on the record before you edited it. Dropping the TTL to 300 at the same time you change the record does nothing for anyone who cached the old one.
The sequence that works:
- Lower the TTL to 300 and change nothing else.
- Wait one full old TTL period. If it was 3600, wait an hour.
- Make the real change. It now clears in about five minutes.
- Raise the TTL back to 3600 once you are happy.
The trap: negative caching
If you query a hostname before the record exists, you do not get nothing back. You get NXDOMAIN, and NXDOMAIN is cached too. Per RFC 2308 the lifetime of that cached negative answer is the minimum of the zone's SOA minimum field and the SOA record's own TTL, which is a value you did not choose and probably have never looked at.
That is why "I created the record ten minutes ago and this checker still says it does not exist" is so common, and why impatiently checking a hostname before you have configured it makes the wait longer rather than shorter. Look up the SOA for your zone to see what you are dealing with: on Cloudflare-hosted zones it is typically 1800 seconds, but plenty of providers ship 3600 or higher.
Practical rule: create the record first, then check.
Record changes are minutes. Nameserver changes are up to 48 hours.
The "DNS takes 24 to 48 hours" advice is not folklore, it is just about a different operation. Changing an A or CNAME record is bounded by that record's TTL, usually an hour or less. Changing your nameservers at the registrar is bounded by the parent zone's delegation TTL, which you do not control.
Measured against a .com TLD server:
example.com. 172800 IN NS hera.ns.cloudflare.com.
172800 seconds is exactly 48 hours. That number is where the advice comes from, and it applies only when you move nameservers. Quoting it to a customer who just edited a CNAME teaches them to wait two days for something that resolved in four minutes.
| You changed | Bounded by | Realistic wait |
|---|---|---|
| An A / AAAA / CNAME / TXT record | The old record's TTL | Minutes to an hour |
| A record that never existed before | The zone's SOA minimum (negative cache) | Up to that value |
| The nameservers at your registrar | The TLD's delegation TTL, 48h for .com | Hours to two days |
When resolvers disagree
Differences between the six resolvers here are cache state, not geography. All six run global anycast networks, so your query lands at whichever point of presence is closest and reads that node's cache. A split result means some nodes refreshed and others have not yet, which is normal mid-change and resolves on its own.
You cannot force a third-party resolver to drop an entry, though Cloudflare and Google both publish public cache-purge pages that work for a single name. Your own machine is a different matter: a local DNS flush clears the OS and browser caches that are often the real reason you still see the old site while everyone else has moved on.
If a hostname is resolving consistently and the site still does not load, the problem has moved up a layer. The custom domain debugging runbook walks the DNS, HTTP routing and certificate layers in order.
Domainee is a custom domains API for SaaS with a native MCP server, 50 domains and 100 GB free. It watches DNS for every customer hostname and fires a webhook the moment the right record appears, which is the production version of refreshing this page.
From the command line
Keyless, no signup:
curl -s "https://api.domainee.dev/v1/tools/dns-propagation-checker?host=example.com&type=A" | jq
type accepts A, AAAA, CNAME, MX, TXT and NS, and defaults to A. The response includes
a consistent boolean plus per-resolver answers. Rate limits are per IP and there is no
uptime commitment, so it fits scripts and audits rather than a production dependency.
Frequently asked questions
How long does DNS propagation take?+
Bounded by your record's TTL. Cached resolvers won't refetch until the TTL expires. If you lowered the TTL ahead of time, propagation completes within that window (often minutes); if not, expect up to the original TTL. The 24-to-48-hour figure people quote applies to nameserver changes, not record changes: the .com delegation TTL is 172800 seconds, which is exactly 48 hours.
I just created the record and this still says it doesn't exist. Why?+
Negative caching. If anything queried the hostname before you created it, the NXDOMAIN response got cached too, and per RFC 2308 its lifetime comes from your zone's SOA minimum field rather than from the TTL you set on the new record. Checking a name before you configure it genuinely makes the wait longer. Create first, then check.
Why does one resolver still show the old value?+
That resolver has the old record cached and will re-fetch when its entry expires. You can't force it, though Cloudflare and Google both publish public cache-purge pages for a single hostname. If it's only your own machine seeing the old value, flush the local OS and browser DNS caches instead.
Are these resolvers regionally distributed?+
All six use global anycast networks, so your query lands on the closest point of presence. The variance you see reflects each operator's per-node caching rather than literal geographic distance. It also means agreement here doesn't guarantee agreement at a corporate or ISP resolver you can't query.
Is DoH the same as 'real' DNS?+
Same data, different transport. DoH packages standard DNS queries over HTTPS — what the resolver sees and returns is identical to UDP/TCP DNS.
Can I speed propagation up?+
Only in advance. Lower the TTL to 300, wait one full old-TTL period so caches pick up the shorter value, then make the change. Doing both at once doesn't help, because resolvers are honouring the TTL they cached before you touched anything.
Watching DNS by hand?
Domainee watches DNS for every customer hostname and notifies you the moment the right record appears. Skip the polling loop.
50 custom domains and 100 GB bandwidth free, forever.
More free tools
SSL
Free SSL Certificate Checker
View issuer, validity, expiration countdown, and certificate chain for any domain.
DNS
Free DNS Record Lookup
Check A, AAAA, CNAME, MX, TXT, NS, and SOA records for any domain instantly.
Domain
Free WHOIS Lookup
View registrar, creation and expiry dates, name servers, and registration data for any domain.
DNS
Free CNAME Lookup & Generator
Validate CNAME records and get provider-specific setup instructions for custom domains.
HTTP
Free HTTP Header Checker
Inspect response headers, security headers, caching, redirects, and get a security grade for any URL.
Other
Free Custom Domain Cost Calculator
Compare building in-house vs. using a managed service for custom domains on your SaaS.
Going deeper? Guide: debug a customer's custom domain