NS Lookup
Nameserver lookup for any domain: the NS records its registry hands out, with glue and TTL, beside what every nameserver says for itself. Lame servers, mismatches and stale glue are named, with the fix.
Asks the registry first, then every nameserver it names. A URL, an e-mail address or a subdomain is fine.
What is an NS record?
An NS record names a server that holds a zone: the place where a domain's records live. A zone lists one NS record per server, so google.com has four, ns1 to ns4.google.com (RFC 1035 §3.3.11).
The same NS records exist twice. The parent zone, here .com, keeps a copy at the cut so it can send resolvers on; that copy is not authoritative. The zone keeps its own copy at its top, and that one is (RFC 1034 §4.2.1, RFC 2181 §6.1). The two should be exactly the same.
The value is always a host name, never an address, and never an alias: the name must have A or AAAA records of its own (RFC 2181 §10.3).
How to check a domain's nameservers
Type the domain above and press Check nameservers: we ask the registry, then each server it names that our server can reach. From a terminal: dig NS example.com on macOS and Linux, nslookup -type=ns example.com on Windows, Resolve-DnsName -Name example.com -Type NS in PowerShell.
Those three ask your own resolver, so they show a cached copy. To see the registry's list, ask its server with recursion off: dig @a.gtld-servers.net example.com NS +norec. To test one nameserver, ask it for the SOA with +norec and look for aa in the flags. whois shows the registry's list too, not the zone's.
dig NS example.com +shortYour resolver's copy, one nameserver per line. Add @a.gtld-servers.net and +norec for the .com registry's own list.
$ dig @l.gtld-servers.net google.com NS +norec ;; ->>HEADER<<- opcode: QUERY, status: NOERROR ;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 91 ;; AUTHORITY SECTION: google.com. 172800 IN NS ns2.google.com.2 google.com. 172800 IN NS ns1.google.com. … ;; ADDITIONAL SECTION: ns1.google.com. 172800 IN A 216.239.32.103 … $ dig @216.239.32.10 google.com NS +norec ;; flags: qr aa; QUERY: 1, ANSWER: 4, AUTHORITY: 04 google.com. 345600 IN NS ns1.google.com.5 …
- No aa: a referral. The registry doesn't serve google.com; it says where to go.
- The parent's list and its TTL: 2 days, set by the .com registry.
- Glue: ns1.google.com is inside google.com, so .com hands out its address.
- aa: the zone itself. An authoritative answer from the server.
- The zone's own TTL: 4 days, set by Google, not by the registry.
$ nslookup -type=ns google.com 8.8.8.8 Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: google.com nameserver = ns3.google.com. google.com nameserver = ns1.google.com. …
# your resolver's copy PS> Resolve-DnsName -Name google.com -Type NS # one server, recursion off PS> Resolve-DnsName -Name google.com -Type SOA -Server ns1.google.com -NoRecursion
$ whois google.com Registrar: MarkMonitor Inc. Name Server: NS1.GOOGLE.COM … DNSSEC: unsigned
Reading the result
The verdict names the DNS host and the registrar; the Delegation view sets the registry's list beside the zone's, server by server, with each one's answer and its time over TCP (the connection's setup included, so about two round trips).
The navy column is the path a resolver takes: the root, the registry with its TTL and DS, then each nameserver. A server that doesn't serve the zone is broken off.

The verdictWho serves the zone, who registered it, and whether the registry and the zone agree.The registry beside the zoneEach name in the registry's list and the zone's own, with glue and the answer.Each server's answerAA and its time over TCP, the code a refusing server sent, or via 1.1.1.1 where our server can't connect.The delegationRoot, registry, then each server's own answer, as a resolver walks it.Parent vs child nameservers: why they differ
Two different parties keep the two lists. The registry publishes the parent's list when your registrar tells it to; your DNS host serves the zone's own list. Change one without the other and they drift apart.
Resolvers trust the zone's own answer more than the referral (RFC 2181 §5.4.1), so once they have asked the zone they keep its list and its TTL. On 2026-10-23 Cloudflare's resolver held google.com's NS set with 340,859 s left: more than .com's 172,800, so the copy came from the zone's 4-day TTL.
A name only in the registry's list still gets traffic from resolvers that start fresh. A name only in the zone is invisible to them. Both are worth fixing; neither is an outage on its own.
Registry .jp1 day
- ns1.xserver.jp
- ns2.xserver.jp
- ns3.xserver.jp
- ns4.xserver.jpregistry only
- ns5.xserver.jpregistry only
Zone1 hr
- ns1.xserver.jp
- ns2.xserver.jp
- ns3.xserver.jp
ns4.xserver.jp and ns5.xserver.jp are at the registry only. Both answer with authority, so nothing breaks; the lists still differ.
Registry .com2 days
- dns1.p08.nsone.net
- dns2.p08.nsone.net
- dns3.p08.nsone.net
- dns4.p08.nsone.net
- ns-1283.awsdns-32.org
- ns-1707.awsdns-21.co.uk
- ns-421.awsdns-52.com
- ns-520.awsdns-01.net
Zone15 min · 1 hr
- dns1.p08.nsone.net
- dns2.p08.nsone.net
- dns3.p08.nsone.net
- dns4.p08.nsone.net
- ns-1283.awsdns-32.org
- ns-1707.awsdns-21.co.uk
- ns-421.awsdns-52.com
- ns-520.awsdns-01.net
Same names, different clocks: the registry's copy lasts 2 days, Route 53's 15 minutes, NS1's 1 hour.
Registry .net2 days
- ns1.domaindirect.comregistry only
- ns2.domaindirect.comREFUSED
- ns3.domaindirect.comregistry only
Zone15 min
- ns1.hover.comzone only
- ns2.hover.comzone only
The registry still lists the old names. Two of them share addresses with Hover's servers and answer; the third refuses.
What are glue records?
Glue is an address the parent hands out with its referral, so a resolver can reach a nameserver whose name sits inside the zone it serves. Without it, finding ns1.google.com would mean asking google.com's servers, which is the question you started with (RFC 1034 §4.2.1).
RFC 9471 makes it a rule: a referral MUST carry the glue of every in-domain server (ns1.google.com for google.com), and SHOULD carry it for sibling servers under the same parent (ns-421.awsdns-52.com for github.com). An unrelated name such as ns-520.awsdns-01.net is looked up on its own.
Glue is set at the registrar, as host records, child nameservers or personal DNS servers. When a server moves, the glue must move too: stale glue sends resolvers to an address that no longer answers.
In-domain · google.com
- .com: ask ns1.google.com
- Its address lives in google.com itself
- without glue, the lookup loops
- So .com adds ns1.google.com A 216.239.32.10 · MUST: required
Sibling and unrelated · github.com
- .com: ask ns-421.awsdns-52.com, ns-520.awsdns-01.net, …
- awsdns-52.com is also under .com: glue 205.251.193.165 · SHOULD: included
- awsdns-01.net is elsewhere: the resolver looks it up in .net · no glue
What is a lame delegation, and how to fix it
A delegation is lame when the parent sends resolvers to a server that doesn't serve the zone: it refuses, says nothing, or answers without authority. If every listed server is lame, the domain stops resolving; if one of several is, lookups get slower while resolvers retry.
RFC 9499 notes that "lame delegation" has come to cover several faults, so the tool names each one: refuses the zone (REFUSED), no answer (asked twice), answers without authority (no aa), server error (SERVFAIL). Silence over TCP alone isn't called lame while Google and Cloudflare still resolve the domain: it is named no TCP answer, as that server may answer over UDP.
The fix is always on one of two sides: add the zone at the DNS host the registry points to, or point the registry at the host that has the zone. Resolvers may remember the failure for up to 5 minutes after the fix (RFC 9520).
Refuses the zone
ns63 · ns64.domaincontrol.com
Both GoDaddy servers named by .com answer REFUSED: the zone isn't set up there.
$ dig @ns63.domaincontrol.com \ example.com SOA +norec ;; … status: REFUSED ;; flags: qr; … ANSWER: 0
A timeout, then REFUSED
ns1 · ns2.eftydns.com
One server timed out once, then answered REFUSED when asked again. One timeout is not a verdict: the tool asks again before it names a state.
$ dig @ns1.eftydns.com \ example.com SOA +norec ;; connection timed out # asked again ;; … status: REFUSED
One of three
ns1 · ns2 · ns3.domaindirect.com
Two servers answer with authority; the third refuses. The domain works, more slowly.
$ dig @ns2.domaindirect.com \ example.net SOA +norec ;; … status: REFUSED # ns1, ns3: NOERROR, flags qr aa
- See where the registry pointsThe Delegation view lists the registry's servers and each one's answer.
- Fix one sideAdd the zone at that host, or change the nameservers at the registrar.
- Check againAnswers return at once; a cached failure lasts up to 5 minutes.
What visitors get when every server is lame:Google SERVFAILCloudflare SERVFAIL
How many nameservers do you need?
At least two: "The DNS specification and domain name registration rules require at least two servers for every zone" (RFC 2182 §5, BCP 16). The same section recommends three for most organisations, with one well removed from the others, and four or five where reliability matters more.
Count networks, not names. Servers should sit where one failure can't reach them all (RFC 2182 §3.1): six servers in one /22 share one routing fate. Anycast spreads one address over many sites and is the usual answer, but it is still one operator; a second provider survives that operator's outage (RFC 8901).
More is fine. RFC 1912's old limit of seven came from 512-byte UDP answers; big zones run eight today (github.com, bbc.co.uk).
| Domain | Servers by network | NS | Networks | Reading |
|---|---|---|---|---|
| google.com | Google · AS15169 · anycast | 4 | 1 | Anycast, one operator |
| github.com | NS1 · AS62597Route 53 · AS16509 · anycast | 8 | 2 | Two providers |
| bbc.co.uk | NetActuate · AS63911NS1 · AS62597 | 8 | 2 | Two networks |
| xserver.ne.jp | Xserver · AS131965Amazon · AS16509 | 5 | 2 | Two networks |
| craigslist.org | craigslist · AS22414 | 6 | 1 | One /22 |
"It is recommended that three servers be provided for most organisation level zones, with at least one which must be well removed from the others."
RFC 2182 §5 · BCP 16, July 1997 · two required, three recommended
How to change nameservers, and how long it takes
Change them where the domain is registered, not at the DNS host: the registrar sends the new list to the registry, and the registry publishes it. Add the zone at the new host first, with every record, so the new servers answer the moment they are named.
Then two clocks run. Resolvers that cached the registry's referral keep the old list for up to the parent TTL: 2 days at .com, 1 day at .de and .jp, 1 hour at .org. Resolvers that already asked the zone keep the old zone's own NS set for its TTL, which can be longer: google.com's is 4 days. Google Public DNS keeps NS at most 6 hours.
So it is never a flat "24–48 hours". Keep the old DNS host answering the same records until the longer clock has run out, and on a signed domain remove the DS before the move (RFC 6781).
At the registrar: each one's own guide
- GoDaddyDNS → Nameservers
- NamecheapDomain List → Manage → Nameservers
- Squarespace DomainsDNS → Domain Nameservers
- PorkbunDetails → Nameservers
- Onamae.comネームサーバー/DNS → ネームサーバー設定
- XServer Domainネームサーバー設定
- MuuMuu Domainドメイン管理 → ネームサーバー設定変更
- Cloudflare Registrarstays on Cloudflare's nameservers
How long the registry's copy lasts (parent NS TTL)
- .ru4 days345,600 s
- .com2 days172,800 s
- .uk2 days172,800 s
- .de1 day86,400 s
- .jp1 day86,400 s
- .tr12 hours43,200 s
- .dev3 hours10,800 s
- .org1 hour3,600 s
- .io1 hour3,600 s
- .in15 minutes900 s
The clocks after a change
- Old referral in cachesthe parent TTL.com: up to 2 days
- Old zone NS set in cachesthe old zone's TTLgoogle.com: up to 4 days
- Google Public DNSits cap on NSat most 6 hours
NS vs SOA vs glue records
Three records meet at a delegation. NS names the servers: the parent's copy points the way, the zone's copy is the authority. Glue is an A or AAAA record the parent keeps only for servers named inside the zone. SOA exists once per zone, at its top: the primary server, a contact address, the serial and the timers.
A server that answers the SOA with the aa flag holds the zone, which is why the tool asks every server for it. The serial tells you whether the servers have the same version; Route 53 starts at 1 and never changes it on its own, and a zone at two providers carries two serials, both normal.
The .com zonerun by Verisign
- NSgoogle.com. 172800 NS ns1.google.com.Delegation: where to go next · not authoritative
- Ans1.google.com. 172800 A 216.239.32.10Glue: the server's address, so it can be reached
- DSno DS: google.com is unsignedDS: points to the child's signing key; signed zones only (cloudflare.com DS 2371 13 2)
zone cut · google.com
The google.com zonerun by Google
- NSgoogle.com. 345600 NS ns1.google.com.The zone's own list · authoritative
- SOAns1.google.com. dns-admin.google.com. 1003797344 900 900 1800 60One per zone: primary, contact, serial, timers
- Ans1.google.com. 345600 A 216.239.32.10The server's own address: the glue should match it
NS lookup vs the nslookup command
People search "ns lookup" for two things: the nameservers of a domain, and the nslookup command that ships with Windows, macOS and Linux. nslookup asks your resolver and prints what it has cached; with -type=ns it lists the zone's NS set as your resolver holds it.
That copy can be hours old, and it never shows the registry's list, the glue, or whether each server holds the zone. This page asks each of them it can reach directly.
| This NS Lookupdnsrobot.net | nslookup-type=ns | digNS · +norec | |
|---|---|---|---|
| Asks | the registry, then every server | your resolver | any one server you name |
| Registry vs zone | both, name by name | the cached copy | one list per command |
| Each server's aa | each IPv4 address (A and glue) | No | one server per command |
| Glue and TTLs | both TTLs | with -debug | in the output |
| Diagnosis | named, with the fix | No | No |
| Runs on | any browser | WindowsmacOSLinux | macOSLinux |
NS lookup: frequently asked questions
What is an NS lookup?
How do I find out who my DNS provider is?
Why do the registry and the zone list different nameservers?
What is a lame delegation?
How long do nameserver changes take to propagate?
How many nameservers should a domain have?
What are glue records, and when do I need them?
Why do different tools show different nameservers?
What does "not probed directly" mean?
Is an NS lookup the same as nslookup?
Why doesn't my nameserver change show yet?
Should I remove DNSSEC before changing nameservers?
Missing something?Suggest a feature or a new tool
Related DNS tools
DNS Lookup
Every DNS record from the domain's own nameservers, beside Google's and Cloudflare's cache
WHOIS Lookup
Look up domain registration, registrar, and owner details via RDAP
Hosting Checker
Find out who hosts any website: web host, CDN, CMS, email provider, registrar and SSL issuer
MX Lookup
Find mail exchange records and mail server details
Domain to IP
Convert any domain name to its IP address with geolocation and CDN detection
Reverse DNS Lookup
Find hostnames associated with any IP address via PTR records
Subdomain Finder
Discover all subdomains of any domain
Domain Age Checker
Check domain registration date, age, expiry, and registrar details via WHOIS