| # | Nameserver | In-bailiwick | Glue required | A | AAAA | CNAME | Notes | |
|---|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ row.ns }} | {{ row.inBailiwick ? 'Yes' : 'No' }} | {{ row.glueRequired ? 'Yes' : 'No' }} | {{ row.a.join(', ') || '-' }} | {{ row.aaaa.join(', ') || '-' }} | {{ row.cname.join(', ') || '-' }} | {{ row.note || '-' }} |
| # | Check | Status | Notes | |
|---|---|---|---|---|
| {{ idx + 1 }} | {{ c.label }} | {{ c.status }} | {{ c.note || '-' }} |
| # | Parent nameserver | A | AAAA |
|---|---|---|---|
| {{ idx + 1 }} | {{ row.ns }} | {{ row.a.join(', ') || '-' }} | {{ row.aaaa.join(', ') || '-' }} |
| Resolver | Status | Code | Time | NS Snapshot |
|---|---|---|---|---|
| {{ e.resolver }} | {{ e.status }} | {{ e.code }} | {{ e.timeMs }} ms | {{ e.nsSnapshot || '-' }} |
Domain Name System delegation is the chain of records that tells resolvers which nameservers are responsible for a domain. A domain delegation glue check helps you spot breakpoints before they show up as outages.
When a nameserver name sits inside the very zone it serves, resolvers often need extra address records from the parent zone to reach it. If those addresses are missing or inconsistent, lookups can fail in ways that are hard to reproduce.
Enter a domain and the checker retrieves the published nameserver set, then looks up address records for each nameserver host. It returns a delegation table plus a short set of pass, warn, and fail checks that explain what looks healthy and what needs attention.
Use it after a registrar change, a nameserver provider migration, or a nameserver renumbering to confirm that delegation still makes sense from a resolver point of view. If results look unstable, compare what two public resolvers report and rerun the check after caches have had time to refresh.
A clean result means the delegation appears consistent for the resolver you queried, not that every user sees the same answer. If you test internal hostnames or pre launch domains, treat the input as operational data and share it carefully.
Domain Name System (DNS) delegation lives at a zone cut in the parent zone, where Name Server (NS) records point to the child zones authoritative nameservers. If a nameserver hostname is in-bailiwick, meaning it is inside the delegated domain, resolvers may require glue, which is A (IPv4) and AAAA (IPv6) address records published alongside the delegation in the parent.
This checker measures the delegation view that a recursive resolver returns for a domain, then expands each nameserver hostname into its address data. It flags which nameserver hosts are in-bailiwick, infers glue requirement from that relationship, and highlights missing address answers that can indicate glue breakage or a stalled rollout.
Results are summarized as per nameserver rows plus a small ruleset that emits PASS, WARN, and FAIL statuses. Optional checks look for Canonical Name (CNAME) indirection on nameserver hosts, query Delegation Signer (DS) records to indicate Domain Name System Security Extensions (DNSSEC) delegation, and compare Cloudflare and Google resolver snapshots to surface disagreement.
Because the tool relies on DNS over HTTPS (DoH) responses from public recursive resolvers, it reflects cache state and resolver policy. It cannot directly interrogate the parent authoritative servers, so glue related conclusions are best treated as strong hints rather than proofs.
| Symbol | Meaning | Unit or datatype | Source |
|---|---|---|---|
D |
Delegated domain being checked | string |
Input |
P |
Parent candidate derived by dropping the leftmost label of D |
string |
Derived |
NS |
Unique nameserver hostnames returned for D |
string[] |
Derived |
n |
Count of nameserver hosts | integer |
Derived |
c |
Parallel worker count for nameserver host lookups | integer |
Input |
T |
Per request timeout threshold | ms |
Input |
S |
DoH JSON status code returned by the resolver | integer |
Derived |
t |
Measured request duration | ms |
Derived |
Suppose you check example.com and the resolver returns two nameserver hosts. One of them sits inside the delegated zone and fails to return any addresses.
Parsed nameserver set:
ns1.example.com in-bailiwickns2.provider.test out of bailiwickAddress expansion outcome:
The checks would likely report PASS for having at least two nameservers, FAIL for missing in-bailiwick addresses, and WARN for overall nameserver resolution.
| Status | Meaning | Action cue |
|---|---|---|
| PASS | Meets the rule with the current resolver answers. | Record the snapshot and proceed. |
| WARN | Suspicious, incomplete, or inconclusive based on the rule. | Compare resolvers, rerun later, or inspect authoritative data. |
| FAIL | Violates a rule that commonly causes delegation failures. | Fix delegation or address records before relying on the domain. |
| Parameter | Meaning | Unit or datatype | Typical range | Sensitivity | Notes |
|---|---|---|---|---|---|
resolver |
Recursive resolver queried via DoH | auto | cloudflare | google |
auto | Medium | Auto uses Cloudflare first and falls back to Google on network failure. |
compare_resolvers |
Run NS lookups against both resolvers and compare snapshots | boolean |
false | High | When enabled, disagreement adds a WARN check and evidence timing. |
check_cname_targets |
Query CNAME for each nameserver host | boolean |
true | Medium | Disabled checks emit WARN with a note that the test was skipped. |
check_ds |
Query DS at the delegation point to indicate DNSSEC presence | boolean |
true | Low | Absence yields WARN, presence yields PASS. |
concurrency |
Maximum parallel nameserver host lookups | integer |
1 to 16 | Low | Higher values reduce wall time but can amplify rate limits. |
timeout_ms |
Abort a single DoH request after this many milliseconds | ms |
0 or 3500 | Medium | 0 means no extra timeout beyond the network stack. |
DoH requests are built as GET queries to one of these endpoints, with query parameters name, type, and ct=application/dns-json, plus an Accept: application/dns-json header.
| Constant | Value | Unit | Source | Notes |
|---|---|---|---|---|
RESOLVER_ENDPOINTS.cloudflare |
https://cloudflare-dns.com/dns-query |
URL |
Constant | Used for Auto first choice and for explicit Cloudflare selection. |
RESOLVER_ENDPOINTS.google |
https://dns.google/resolve |
URL |
Constant | Auto fallback and explicit Google selection. |
timeout_ms default |
3500 |
ms |
Constant | Applied per request when greater than 0. |
concurrency default |
6 |
workers |
Constant | Capped to 16 for nameserver host expansion. |
| Field | Type | Min | Max | Step or pattern | Error text |
|---|---|---|---|---|---|
| Domain | text |
— | — | Trim, strip mailto:, accept URL or email, remove trailing dot |
Domain is required. |
| Concurrency | number |
1 |
16 |
1 |
Clamped to 1 to 16 workers. |
| Timeout | number |
0 |
— | 100 |
0 disables the extra abort timer. |
| Missing delegation | result |
— | — | Empty NS answer set | No NS records found. |
| Input | Accepted families | Output | Encoding or precision | Rounding |
|---|---|---|---|---|
| Domain string | Bare hostname, URL hostname, or email domain | Delegation rows and checks | Unicode text | Not applicable |
| DoH timing | Measured per request | Resolver evidence time | Integer milliseconds | Math.round |
| Session state | Current results | Formatted JSON snapshot | Pretty printed with 2 space indent | Not applicable |
Concurrency and timeout inputs are treated as base 10 integers, and request durations are measured in milliseconds and rounded with Math.round. A DoH response is treated as successful only when the HTTP response is OK and the JSON Status field equals 0.
All lookups are performed from the browser by sending HTTPS requests to the selected DoH provider. The queried domain and nameserver hostnames are visible to that provider as part of normal resolution.
The script does not write results to local storage or session storage. Exports are generated from the current in memory tables and downloaded to your device when requested.
Given the same resolver answers, the same input produces the same parsed nameserver set, in-bailiwick classification, and check statuses. In practice, caches, propagation, and timeouts can change answers between runs, which is why the resolver comparison option can be useful for triage.
Answer arrays in DoH responses lead to apparent missing records.Core delegation behavior is described in RFC1034 and RFC1035. DNSSEC delegation signaling is covered by the DNSSEC RFC series such as RFC4033, and DoH transport is specified by RFC8484.
Domain names can be sensitive operational data, and this checker sends queries to public DoH providers, so align usage with your organizations privacy and security guidance.
DNS delegation and glue issues show up as missing nameservers or missing nameserver addresses, and this guide helps you confirm what resolvers can reach.
Example After moving a domain to new nameservers, confirm there are at least two nameserver hosts and that any in-bailiwick host has address records.
If the resolver comparison shows disagreement, treat the change as still propagating or cached and rerun after some time.
Pro tip: run the check before and after a delegation change and compare the snapshots to confirm what actually moved.
When checks are stable, you have a clear snapshot of delegation health from the chosen resolver.
The checker keeps results in memory for the current page session and does not write to local storage or session storage. It does send DNS queries to the selected DoH provider.
It queries NS for the delegated domain, then A and AAAA for each nameserver host. Optional checks query CNAME on nameserver hosts and DS at the delegation point.
Parent context adds NS and address lookups for the derived parent candidate zone.WARN means the rule found something incomplete or uncertain, such as a nameserver host with no A or AAAA answer, or two resolvers returning different NS sets.
It is accurate for what the chosen recursive resolver reports at that moment. It cannot prove what the parent authoritative servers publish, so glue conclusions are inferred.
No. The tool must reach the configured DoH endpoint to retrieve delegation and address data, so disconnected use will fail.
Look for nameserver hosts marked in-bailiwick and verify they have at least one A or AAAA answer. Missing addresses are a common sign of glue problems.
You can copy or download the delegation and checks tables as CSV, export a DOCX report, and download a JSON snapshot of the full state.
This page does not declare pricing or licensing terms in its metadata. Treat usage rights and any costs as defined by the site that hosts it.