DNS_PROBE_FINISHED_NXDOMAIN: what it means and how to fix it
Kofi Agyem, Founder and CEO, CloudzyroPublished · 6 min read
On this page
DNS_PROBE_FINISHED_NXDOMAIN means DNS says the domain doesn't exist. Why it happens, quick fixes for visitors, and what site owners should check.
1. The short answer
DNS_PROBE_FINISHED_NXDOMAIN means Chrome asked DNS for the site's address and was told the name doesn't exist. NXDOMAIN stands for non-existent domain. Chrome then ran a quick test, the DNS probe, and found that DNS itself works, so the problem is that one name: a typo, an expired or unconfigured domain, or a stale answer cached on your device or network.
If other sites load and this one doesn't, check the spelling, flush your DNS cache and try another network. If it fails everywhere, the site's owner needs to fix the domain. New to DNS? Start with What is DNS?.
2. What you'll see
- Chrome: This site can't be reached. example.com's server IP address could not be found. DNS_PROBE_FINISHED_NXDOMAIN.
- Edge: Hmm... can't reach this page, with the same DNS_PROBE_FINISHED_NXDOMAIN code (Edge is built on Chromium).
- Firefox: Hmm. We're having trouble finding that site. We can't connect to the server at example.com.
- Safari: Safari Can't Find the Server.
- Chrome on Android: often just ERR_NAME_NOT_RESOLVED, the same problem without the probe's verdict.
Under the hood, every one of these is the same thing: the lookup came back with response code 3, which RFC 1035 calls a name error and everyone else calls NXDOMAIN. Chrome first records the failure as ERR_NAME_NOT_RESOLVED, then probes your DNS setup. If the probe works, it relabels the error DNS_PROBE_FINISHED_NXDOMAIN. If the probe fails, you'd see DNS_PROBE_FINISHED_BAD_CONFIG or DNS_PROBE_FINISHED_NO_INTERNET instead.
3. What causes it
- A typo.
exmaple.comreally doesn't exist. This is the most common cause by far. - The domain expired or isn't registered. An expired domain is removed from the DNS until it's renewed.
- The domain is on hold. Registries remove domains with a
clientHoldorserverHoldstatus from the DNS, for example when the owner didn't verify their email address after registering. - No record for that exact name.
example.commay work whilewww.example.comhas no record at all, or the other way round. - Broken nameservers. The domain points at nameservers that don't hold its records, for example after moving DNS providers without copying the zone.
- A stale cached answer. Your device, router or resolver remembered a not-found answer from before the records existed.
- A VPN, filter or security tool. Some DNS filters (parental controls, ad blockers like Pi-hole, company firewalls) answer NXDOMAIN for names they block.
- Your hosts file. An old entry can override DNS for that name.
4. Fixes for visitors, quickest first
- Check the address. Look for a typo, a missing letter or the wrong ending (
.coinstead of.com). - Reload, then try another device or network. Your phone on mobile data is a good test. If it works there, the problem is on your computer or network.
- Turn off your VPN, proxy or DNS filter for a moment and try again.
- Flush your DNS cache with the commands below, including Chrome's own cache.
- Restart your router. It keeps a DNS cache too.
- Switch to a public DNS resolver such as Cloudflare's
1.1.1.1or Google's8.8.8.8, in your computer's or router's network settings. - Check your hosts file for an entry for the site:
C:\Windows\System32\drivers\etc\hostson Windows,/etc/hostson a Mac or Linux. Delete any line for that name. - Reset Windows networking if nothing else works: run
netsh winsock resetandnetsh int ip resetin an administrator Command Prompt, then restart.
# Windows (Command Prompt or PowerShell)
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# Linux with systemd-resolved (Ubuntu, Fedora and most others)
resolvectl flush-caches
# Chrome's own cache: open this address, then click Clear host cache
chrome://net-internals/#dnsIf the site still fails on every device and network, it's not you. The domain itself has a problem, and the owner has to fix it.
5. Fixes for site owners
- Check the domain is registered and not expired. Look it up at ICANN Lookup or your registrar. Renew it if needed.
- Check its status. A
clientHoldorserverHoldstatus means it's been taken out of the DNS. Your registrar can tell you why; an unverified registrant email is a common reason. - Check the nameservers. Run
dig NS example.comand make sure they're the servers where you edit your records. Editing records anywhere else does nothing. - Check there's a record for the exact name visitors use. If people type
www.example.com, you need a record forwww, not just for the bare domain. See www vs non-www. - Wait out cached not-found answers. If you looked the name up before adding its records, resolvers may remember the NXDOMAIN for the negative cache time set in your zone's SOA record. See DNS propagation.
For a site on Cloudzyro Sites & Apps, www (or your subdomain) needs a CNAME to domains.cloudzyro.app, and the bare domain an A record to 173.234.137.167, which forwards visitors to www over HTTPS. The full walkthrough is in How to point a domain at your site, and the site's Domains tab tells you what it found. A domain bought in Cloudzyro Domains gets its records set for you when you choose the site.
6. How to check
These commands show exactly what DNS says. dig is built into macOS and most Linux systems; nslookup works everywhere, including Windows.
# Look for "status: NXDOMAIN" in the header
dig www.example.com
# Ask public resolvers, to rule out your own
dig www.example.com @1.1.1.1
dig www.example.com @8.8.8.8
# Which nameservers the domain uses, and the whole chain from the root
dig NS example.com
dig +trace www.example.com
# Windows
nslookup www.example.com
nslookup www.example.com 1.1.1.1Read the result like this. NXDOMAIN from every resolver means the name really doesn't exist in DNS: a typo, an expired domain or a missing record. NXDOMAIN only from your own resolver means your network is filtering or caching. An answer everywhere, but Chrome still fails points to your device's cache, hosts file or VPN. On Windows, nslookup's message for NXDOMAIN is Non-existent domain.
If dig +trace stops at the .com servers with no nameservers for your domain, the domain isn't delegated: it's expired, on hold or not registered.
7. Sources
- Google Chrome Help: Fix connection errors
- Chromium source: net_error_list.h (every Chrome network error)
- RFC 1035: Domain names, implementation and specification (RCODE 3, name error)
- RFC 8020: NXDOMAIN, there really is nothing underneath
- ICANN: EPP status codes (clientHold and serverHold)
- Mozilla Support: Server not found
- Cloudzyro docs: Domain not working