DNS propagation checker
See which resolvers around the world have picked up your DNS change, and which are still holding on to the old answer.
What this checker shows
After you change a DNS record, some people see the new value straight away while others keep seeing the old one for hours. This checker asks 48 public resolvers, from big services such as Google and Cloudflare to ISP and regional resolvers in about 25 countries, for the same record. It also asks the domain's own nameserver, then lines the answers up side by side. A resolver that gives the same answer as the nameserver is up to date. One that doesn't is probably still serving a cached copy.
How to use it
- Enter the name and record typeUse the exact hostname people visit, not just the domain. For a website check
AorCNAME, for email checkMXon the domain, and for a verification token checkTXT. The type menu is in More options and starts onA. - Add the value you expect (optional)In More options, enter what you changed the record to: an IP address for
AorAAAA, a hostname forCNAME,NSorMX, or any piece of the text forTXT. Resolvers that return it count as current, so you can see at a glance whether your change has arrived. Without it, resolvers are compared with the nameserver's answer. - Check the nameserver firstThe Authoritative tab shows what the domain's own nameserver returns. If that is not your new value (the result says so when you entered one), the change is not published at your DNS host yet, and waiting for caches will not help.
- Run it againResolvers switch from old to new as their caches expire. Use Check again every few minutes (a result is cached for up to two minutes) and watch the count of current resolvers. You don't need every one. What matters is the resolvers your visitors use.
How to read the results
The top of the result is a headline such as “Almost there: 43 of 48 are current”, with a sentence beneath it that says what the resolvers were compared with. Beside it are a roll call with one dot per resolver, the answers grouped with a count for each, and a map, so a split between old and new is easy to spot. Three tabs hold the detail: the resolvers by region, the authoritative nameserver, and links to refresh the big public caches.
| Result | Meaning | What to do |
|---|---|---|
| Current | The resolver gives the same answer as the nameserver, or contains the value you expect. | Nothing. |
| Old answer | The resolver still has a cached copy. It reads Different answer when there is no nameserver answer or expected value to compare with. | Wait for the old TTL, shown beside it, or use the refresh links on the Speed it up tab. |
| Several different answers | Load balancing, a CDN or geo-DNS (DNS that answers by location) can give each resolver a different valid address. Without an expected value the checker cannot tell that from a stale cache, but it adds a note when it sees three or more answers. | For your own records, enter the value you expect. For CDN-hosted names, differences are normal. |
| Not found or No records | The resolver believes the name does not exist, or has no record of this type, possibly from a cached negative answer. | Wait for the zone's negative-cache time (the SOA minimum), shown in the SOA lookup. |
| Server failure, Refused, No answer or Error | The resolver could not complete the lookup. | Check the domain's nameservers and DNSSEC. One slow resolver is not a global problem. |
When the nameserver returns your expected value, or the record has been removed, the result adds a Fully settled in time. That is the longest remaining TTL among the resolvers still on the old answer. Without one of those two, a different answer could be perfectly legitimate, so the checker does not promise a time.
The longest anyone should wait is roughly the old record's TTL after the change. Nameserver changes are slower. The registry publishes your nameservers with its own TTL, two days for .com and .net (some endings use less), so resolvers can keep using the old ones for that long.
When it still looks wrong
- The nameservers disagree. If your DNS host runs several nameservers, one may not have the update yet. LookupOwl asks one of them, chosen at random, so compare them all with
dig +nssearchand look at the serial numbers (command below). - The new record isn't showing anywhere. You may have edited the zone at a host that is not the delegated one. Check the NS records and your registrar.
- The resolvers are right but your computer isn't. Your operating system, browser and router cache DNS too. Flush them with the commands below.
- The site still shows old content. The address may be new, but a CDN, your browser's cache or an entry in your
hostsfile can still send you to the old server. - A filtering resolver is the odd one out. Six of the 48 block malware, ads or adult content by policy and are marked Filters content. A missing answer there can be a block rather than a stale cache.
- An anycast resolver differs from what a visitor sees. Services such as 8.8.8.8 and 1.1.1.1 are many servers behind one address. The checker reaches the one nearest LookupOwl's servers, so someone in another country could briefly see something else.
- A long TXT answer comes back cut short. Resolvers sometimes return only part of a big set of records. The checker notes when a resolver returned only part of the nameserver's set, because that is not a stale cache.
# Compare the serial number on every nameserver
dig +nssearch example.com
# Windows
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# Linux (systemd-resolved)
resolvectl flush-caches
# Chrome's internal cache
chrome://net-internals/#dnsThe big public resolvers also let you ask them to forget one name. Google Public DNS and Cloudflare 1.1.1.1 have cache purge pages, and Cisco OpenDNS has a cache check page. All three are linked from the Speed it up tab.
How the check works
LookupOwl asks the domain's own nameserver, with no cache in between, to get the baseline. At the same time it sends the same question to the 48 resolvers, 16 at a time, and gives each two seconds to answer. A resolver that fails becomes a row in the table, not an error. If the whole check hits its limit of about eight seconds, you get whatever has finished, marked incomplete. Results are cached for up to two minutes, so repeat checks stay fresh without hammering anyone. Fresh checks of any one domain are limited to 30 a minute across all callers, so the tool cannot be used to flood someone's nameservers.
Background: how DNS propagation works. Standards: RFC 1034 and RFC 1035 (resolution and caching), RFC 2308 (negative caching), RFC 8767 (serving stale data) and RFC 9499 (terminology).
Questions people ask
How long does DNS propagation take?
Usually minutes to a few hours: as long as the old record's TTL. If the old TTL was 300 seconds, expect about five minutes, and if it was a day, plan for a day. Changing nameservers is the slow case and can take up to 48 hours.
Why do different locations show different results?
Each resolver has its own cache, filled at different times, so in the hours after a change some hold the new value and others the old one. Some answers also depend on location by design, as with CDNs and geo-DNS, and that is not a propagation problem.
Can I speed up DNS propagation?
Not for caches you don't control, but you can prepare. Lower the TTL a day or two before a planned change, make the change, then raise the TTL again. Afterwards, flush your own device's DNS cache and use the purge pages of the big public resolvers, which are linked from the result.
Do I have to wait for 100 percent?
No. Once the nameserver returns the right value and the resolvers your users rely on have updated, you can carry on. Long-tail resolvers with large TTLs will catch up on their own, and a few of the 48 may time out on any given run.
Why is my email still going to the old server?
Sending mail servers and their resolvers cache your MX records until the old TTL runs out, so some mail keeps going to the old server until then. Keep the old mailbox running for at least that long, and check the MX record here to see who has updated.
Does it check both IPv4 and IPv6?
It checks one record type at a time, so run A for IPv4 and AAAA for IPv6 separately. A site can be updated for one and not the other. A site with no AAAA record at all simply does not use IPv6, which is normal.
Is this tool free to use through the API?
Yes. The dns_propagation tool is on the free REST API and the MCP server, with no key needed and fair-use limits. You can call the API once per record type, or ask an assistant in plain language, as in the tip above. See the terms.
Use it from AI, the API or the command line
Every LookupOwl tool is also a free API and an MCP tool, with no key and no account. This one is dns_propagation. Please be kind to the rate limits.
curl "https://lookupowl.com/api/v1/tools/dns-propagation?q=example.com"claude mcp add --transport http lookupowl https://lookupowl.com/mcp