DNS Propagation
Check how a DNS record resolves from around twenty locations worldwide at the same time, see how long each resolver took, and add a port to test whether the service behind the record accepts connections from every location.
What propagation actually is
Nothing is pushed anywhere when you change a DNS record. Resolvers around the world hold the old answer until the time-to-live you set on it runs out, then ask again. "Propagation" is just those caches expiring at different moments.
This tool queries the same name from probes across Europe, the Americas, Asia, Africa and Australia at once and groups the answers. One group means everyone sees the same thing. Two or more means the locations disagree, which is what a change in progress looks like, and also what a domain that answers by region looks like.
Each location reports two numbers: how long its resolver took to answer, and how much longer it may serve that answer before it has to ask again. The second one is what decides how long a location can still show an old value, no matter what you change at your provider. A resolver that answers in under a millisecond did not ask anyone, it read the answer out of its own memory, and that is shown as "from cache" rather than as a time. Add a port to the name, as in example.com:25565, and every location additionally tries to open a connection on that port, so you see whether the service behind the record is reachable and not just whether the name resolves.
Reading the result
- One group: consistent everywhere. The change is done, or there was nothing to change.
- Two groups: either a change is still spreading, or the domain answers differently by region on purpose. Large sites and anycast setups do the latter permanently, so disagreement alone is not proof of a problem. Compare against what you expect the record to be.
- A probe with no answer: that resolver got no record at all, which is different from getting an old one and often points at a deleted or misspelled name.
Why it can take so long
The wait is set by the TTL that was in place before you made the change, not the one you set afterwards. If the old record said 86400, resolvers that cached it are entitled to keep that answer for a full day, and lowering the TTL now changes nothing for them.
That is why the usual advice is to lower the TTL a day ahead of a planned move, make the change once the short TTL is everywhere, then raise it again.
When it's useful
- Checking whether a nameserver or hosting move has finished before cutting over.
- Explaining why a site loads for you but not for a colleague in another country.
- Confirming a deleted record is really gone everywhere.
- Verifying an MX change before mail starts flowing to the new server.