# | Resolver | Answer | TTL | AD | Time (ms) | Copy |
---|---|---|---|---|---|---|
{{ i+1 }} | {{ row.resolver }} | {{ row.answer || '—' }} | {{ row.ttl !== null ? row.ttl : '—' }} | {{ row.ad === true ? '✔' : (row.ad === false ? '✖' : '—') }} | {{ row.ms !== null ? row.ms : '—' }} | |
No data. |
{{ commandsText }}
Domain Name System (DNS) propagation is how updated resource records spread across recursive resolvers worldwide. When people say DNS refresh they mean the same wave of cache updates that follows a change to a record like A, AAAA, or TXT. Checking global DNS propagation status lets you see if resolvers in different regions now agree on the new answer.
You enter a fully qualified domain name and a record type, then receive per‑resolver answers with validation flags and response times. The results reflect what public recursive resolvers, often served by anycast nodes, are returning at this moment. You can compare the majority answer, the set of unique values, and any failures to judge whether a cutover is complete.
For example, after pointing www.example.com to a new address, you might see half the resolvers report the new A record while others still show the old value. That pattern tells you propagation is underway and helps you decide when to switch traffic or notify stakeholders across regions. Be careful when testing links from untrusted sources.
Propagation differs from authority checks against your name servers because it measures what caches actually serve to users. Use it to verify cutovers, spot stale records, and confirm DNSSEC validation behavior across networks. Pair majority agreement with your change ticket and monitoring to decide when to request cache flushes or prepare a rollback during staged migrations.
The checker queries multiple public recursive resolvers using the DNS over HTTPS (DoH) JSON interface, then normalizes and aggregates what each returns. It measures round‑trip time per resolver, collects the Authenticated Data flag when present, and derives a minimal time‑to‑live across answers. A majority answer is selected by comparing a normalized string for each resolver’s unique values. The propagation percentage is the share of resolvers whose answers match that majority. Processing is deterministic for the same inputs, while outcomes reflect live caches and network conditions.
name
, type
, and ct=application/dns-json
.edns_client_subnet
, do
, and cd
flags.accept
header.Symbol | Meaning | Unit/Datatype | Source |
---|---|---|---|
N | Selected resolvers | integer | Input |
P | Resolvers matching majority | integer | Derived |
R | Propagation percentage = round(P / N × 100) | percent | Derived |
t_ms | Per‑resolver latency | ms | Derived |
TTL_min | Minimal TTL across answers | s | Derived |
AD | DNSSEC Authenticated Data flag | boolean | Derived |
rr | Record type | enum | Input |
ecs | EDNS client subnet | string | Input |
do | Request DNSSEC records | boolean | Input |
cd | Checking disabled | boolean | Input |
timeout_ms | Per‑resolver timeout | ms | Input |
retries | Extra attempts per resolver | integer | Input |
Field | Type | Min | Max | Step/Pattern | Error Text | Placeholder |
---|---|---|---|---|---|---|
Domain | text | 2 labels | 253 chars |
^[a-zA-Z0-9-]{1,63}$ per label, no leading or trailing hyphen
|
Enter a valid domain (FQDN). | example.com |
Record type | select | — | — | A, AAAA, CNAME, MX, NS, TXT, SOA, SRV, CAA | — | — |
Resolvers | checkboxes | 1 | 7 | Cloudflare, Google, Quad9, AdGuard, DNS.SB, AliDNS, OpenDNS | Select at least one resolver. | — |
DNSSEC DO | boolean | — | — | Include DNSSEC records | — | — |
DNSSEC CD | boolean | — | — | Ask resolver not to set AD | — | — |
EDNS client subnet | text | — | — | CIDR string, unvalidated | — | 0.0.0.0/0 |
Timeout | number | 500 | — | step 100 ms | — | — |
Retries | number | 0 | — | step 1 | — | — |
Input | Accepted Families | Output | Encoding/Precision | Rounding |
---|---|---|---|---|
FQDN, record type | ASCII labels; trailing dot stripped | Answer text, TTL, AD, latency | DoH JSON; integers for TTL and ms | Nearest integer; .5 rounds up |
ECS, DO, CD | Strings and booleans mapped to query params | Per‑resolver rows and aggregated stats | Case‑insensitive sort; de‑duplicated values | Propagation percent rounded to whole numbers |
accept: application/dns-json
header is used; ct=application/dns-json
is added to queries.Time complexity is linear in the number of selected resolvers and the number of records in each response. Requests run in parallel to reduce wall‑clock time. Memory usage is modest and proportional to the total count of per‑resolver rows. The charting layer visualizes distributions without affecting network timing.
Scenario: You update www.example.com
from an old A record to a new target.
Inputs: Domain = www.example.com
, Type = A
, DO = off, CD = off, Timeout = 3500 ms
, Retries = 0
.
Intermediate: Three resolvers answer 203.0.113.7
, two answer 203.0.113.5
, one fails; minimal TTL across answers is 1800
.
Result: Majority equals 203.0.113.7
; propagation is 50 %
with one failure recorded.
Run a propagation check and share a clean snapshot.
Example: example.com
with type A
and the default resolver set.
Warning Double‑check the domain before sharing results, especially during live cutovers.
No. Requests are issued from your browser directly to the chosen resolvers. The page does not send your inputs to an intermediate server or keep a copy.
Your resolver providers may log queries under their policies.A, AAAA, CNAME, MX, NS, TXT, SOA, SRV, and CAA. Pick one type per run to keep results clear.
It is the integer‑rounded share of selected resolvers that match the majority answer. If no majority exists, the value is zero.
AD indicates the resolver believes the data is validated under DNSSEC. The CD toggle asks the resolver not to set AD even if validation succeeds.
You can pass an EDNS client subnet to hint geography. Leave it blank for no hint. Use with care, as policies vary by resolver.
That row did not return an answer within the timeout or produced an error. Increase the timeout or reduce retries to see if behavior changes.
No. It needs network access to reach public resolvers and gather answers.
Yes. Export CSV for spreadsheets or JSON for automation, then attach the file to your change ticket.