DNS

DNS propagation checker

See whether a DNS change has reached two independent public resolvers yet, with their TTLs.

Free, no accountLive check

The name to check, like example.com or www.example.com.

Try

Result

Fill in the form and press Check propagation. The verdict and the detail appear here.

What this is

This dns propagation checker puts Cloudflare and Google’s public resolvers side by side for the record type you pick, with the TTL each one is currently working from, so a change that has already reached one but not the other is something you can see rather than something you have to guess at from a single answer.

A record only becomes visible everywhere once every resolver that had cached the old value has let that cache expire, which happens on its own TTL rather than on a schedule you control. Asking two resolvers rather than one, at the same moment, is what turns "is this done yet" from a guess into something you can actually compare.

For what a TTL actually controls, and how it fits alongside the other record types a domain needs, see our blog guide "The DNS records a domain needs, and what each one actually does."

How to read the result

The table below lines up every resolver asked with its records and the TTL it is currently serving, but there are only two: Cloudflare’s and Google’s public anycast endpoints, which is a very different thing from the dotted world maps some incumbent propagation checkers draw. Neither of those two resolvers belongs to any one country, so the two agreeing is a strong sign the change is visible, not a survey of every regional ISP’s own resolver.

A warning means the two rows disagree right now, which usually clears itself once the TTL shown for the slower one has fully run out. A failure means something is actually broken - the name does not exist at all, or neither resolver could be reached - and no amount of waiting fixes either of those on its own.

Common mistakes

What goes wrong most often, and how to tell.

  • Treating a settled answer as proof it is everywhereTwo resolvers agreeing is good evidence a change has taken, but Cloudflare and Google are two providers out of many an ISP might run its own resolver on. A visitor behind a resolver neither of these two is can still be looking at a cache this page never asked.
  • Checking again before the TTL has had time to run outA resolver that cached the old value keeps serving it until that cache expires, counted from when it was fetched, not from when the authoritative record changed. Checking again a minute later tells you nothing new if the TTL is measured in hours.
  • Ignoring the TTL column entirelyThe TTL shown next to a disagreeing row is the answer to "how much longer" - it is not boilerplate, it is the one number that says when to stop checking and just wait.

Questions

What people ask about this tool.

  • Cloudflare and Google each run a global anycast network, so a single query to either one can be answered from a server anywhere in the world, which makes a per-country breakdown impossible to draw honestly from either of them. Two resolvers agreeing is strong evidence a change is visible; it is not the same claim as a worldwide survey of ISP resolvers.
  • One of them is still serving a cached copy of the old record because its TTL has not yet run out, while the other has already fetched the new one. This clears itself once the slower resolver’s cache expires, which the TTL column tells you how long to wait for.
  • A TTL of an hour or more means a resolver that cached the record just before it changed can keep serving the old value for up to that long afterwards, entirely correctly. Seeing the old answer soon after a change with a long TTL is not a sign anything is broken.
  • A resolver answering that there is no such name is saying the domain itself is not registered or not yet delegated to any nameserver at all, which is a different and more serious problem than a record of this type simply being unpublished.

Sources

Every fixed value here comes from the provider’s own documentation. These pages change, so each says the day it was last read.

Use it from the API

The same check, as one request.

Request
curl -X POST https://resellerhq.com/api/tools/dns-propagation-checker \
  -H "Content-Type: application/json" \
  -d '{"domain":"example.com","type":"A"}'
Response
{
  "tool": "dns-propagation-checker",
  "input": {
    "domain": "example.com",
    "type": "A"
  },
  "result": {
    "verdict": {
      "tone": "success",
      "headline": "The A record for example.com has reached both resolvers",
      "summary": "Both resolvers checked now agree."
    },
    "findings": [
      {
        "id": "resolvers-match",
        "severity": "pass",
        "title": "Both resolvers agree",
        "detail": "Cloudflare and Google both returned the same A record for example.com, which is as settled as this check can show."
      }
    ],
    "parts": [
      {
        "kind": "table",
        "title": "A records, by resolver",
        "columns": [
          "Resolver",
          "Records",
          "TTL"
        ],
        "rows": [
          [
            "Cloudflare",
            "93.184.216.34",
            "300s"
          ],
          [
            "Google",
            "93.184.216.34",
            "300s"
          ]
        ],
        "note": "Cloudflare and Google run global anycast networks, not a roomful of country-specific resolvers, so two matching rows here are the best evidence this change is visible, not a certificate that every ISP’s own resolver worldwide already has it."
      }
    ],
    "lookups": [
      {
        "label": "A for example.com via Cloudflare",
        "value": "ok: 93.184.216.34, ttl 300"
      },
      {
        "label": "A for example.com via Google",
        "value": "ok: 93.184.216.34, ttl 300"
      }
    ],
    "limits": [
      "The only two vantage points behind this page are Cloudflare’s and Google’s public resolvers; no ISP’s own resolver anywhere is visible from here, however granular the world map on some other propagation checkers makes that look."
    ]
  }
}

Resell the domains these records point at, at your own price, under your own brand.

Get started

Company names and logos are trademarks of their owners, shown only to identify each service.