Skip to content

Fix DNS_PROBE_FINISHED_NXDOMAIN

Short answer

Chrome shows DNS_PROBE_FINISHED_NXDOMAIN when the name it looked up does not exist — the resolver returned NXDOMAIN. Either the hostname genuinely has no DNS record, or the device is using a stale or filtered resolver. Query the name from another network first; that single test tells you which half to fix.

Check it yourself
A Record Lookup
IPv4 addresses a hostname resolves to

The error is Chrome's wrapper around a plain DNS response code. Chrome asked for the hostname, the resolver answered NXDOMAIN — "this name does not exist" — and Chrome ran its own probe to confirm DNS is otherwise working before showing the page. The probe part matters: it means Chrome believes your DNS is functional in general and that *this specific name* came back missing. That is a narrow, useful signal.

First question, always: does anyone else see it? If the site loads on a phone using cellular data, the site is fine and you are debugging one device or one network. If it fails everywhere, the DNS record is missing and you are debugging the zone.
# Bypass every local cache — ask a public resolver directly
dig @1.1.1.1 www.example.com A
dig @8.8.8.8 www.example.com A

# Read the status line: NXDOMAIN means the name really is absent
# NOERROR with an ANSWER section means your machine is the problem
Run this before touching any browser setting.
A Record Lookup
IPv4 addresses a hostname resolves to

Server-side: the record genuinely does not exist

If public resolvers also return NXDOMAIN, nothing on the visitor's device will help. Work through the zone in this order — each step rules out a whole class of cause.

  1. Is the domain registered and not expired? An expired domain has its delegation pulled and every name under it returns NXDOMAIN. Check registration and expiry with the WHOIS Lookup or the Domain Age Checker.
  2. Is the delegation present? Run the NS Record Lookup. If no nameservers come back, the registry is not publishing a delegation — the domain is expired, suspended, or was never fully configured.
  3. Does the record exist in the authoritative zone? Query a nameserver from that NS set directly: dig @ns1.provider.com www.example.com A. If the authoritative server says NXDOMAIN, the record is not there, regardless of what your DNS panel shows.
  4. Did you edit the right zone? The single most common cause. If the NS records name a provider you are not editing, your changes went into an inactive zone. This is covered in detail in Why Is My DNS Not Propagating?.
  5. Is the host field wrong? Entering www.example.com in a panel that already appends the domain creates www.example.com.example.com. Look at the fully qualified name the panel displays after saving, not what you typed.
  6. Is `www` missing while the apex works? These are separate names. example.com resolving does not create www.example.com — that needs its own A record or CNAME. See CNAME vs A Record.
  7. Is the record newly created? Then negative caching applies: resolvers that asked before it existed keep returning NXDOMAIN until the SOA minimum expires. Read the value with the SOA Record Lookup.

One distinction is worth internalising. If the SOA in the NXDOMAIN response belongs to the TLD (com. and a registry contact), the delegation itself is missing — a registration problem. If the SOA belongs to your own zone, your nameservers are answering and stating the name is absent — a record problem. dig shows the SOA in the authority section, and SERVFAIL vs NXDOMAIN explains how to read it.

Client-side: the record exists but this device cannot see it

If dig @1.1.1.1 returns the address and Chrome still shows the error, the record is fine and something between the browser and the internet is not. Chrome, the operating system, the local network, and any VPN each maintain their own view of DNS, and any one of them can be stale or filtered.

LayerSymptomFix
Chrome host cacheChrome fails; dig and other browsers work.Clear the host cache at chrome://net-internals/#dns, then flush socket pools at chrome://net-internals/#sockets.
OS resolver cacheEvery browser fails; dig @1.1.1.1 works.Flush the OS cache (commands below).
Chrome secure DNS (DoH)Only Chrome fails, including after a cache clear.Chrome can resolve through its own DoH provider, bypassing the OS. Toggle "Use secure DNS" in Chrome's Security settings and retest.
Router / gateway resolverAll devices on the network fail; cellular works.Reboot the router, or set the device to use 1.1.1.1 / 8.8.8.8 directly.
ISP or filtering resolverPublic resolvers work, the configured one returns NXDOMAIN.Content filtering or DNS-based blocking. Switch resolvers to confirm, then take it up with whoever runs the filter.
VPN or split DNSFails only while connected.The VPN pushes its own resolvers, which may not know public names or may serve a different internal zone. Disconnect and retest.
hosts fileOne machine fails persistently, immune to every flush.Check /etc/hosts (macOS/Linux) or C:\Windows\System32\drivers\etc\hosts for a stale entry.
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

# Windows (Command Prompt or PowerShell, as Administrator)
ipconfig /flushdns
ipconfig /release && ipconfig /renew

# Linux with systemd-resolved
sudo resolvectl flush-caches
resolvectl status          # shows which resolvers are actually in use

# Linux running nscd or dnsmasq
sudo systemctl restart nscd
sudo systemctl restart dnsmasq
Flush the OS resolver cache, then clear Chrome's at chrome://net-internals/#dns.
Clearing Chrome's host cache alone is often not enough — Chrome also holds open keep-alive sockets to the old address. Flush socket pools at chrome://net-internals/#sockets as well, or restart the browser entirely.

Cases that look like NXDOMAIN but are not

  • A typo in the address bar. Chrome offers a search suggestion for obvious typos but not always. Read the hostname in the error message character by character before doing anything else.
  • An internal-only hostname. Names that resolve only through a corporate VPN or split-horizon DNS return NXDOMAIN on the public internet by design. Nothing is broken.
  • A different error code. DNS_PROBE_FINISHED_NO_INTERNET means connectivity, not a missing name. ERR_NAME_NOT_RESOLVED is a closely related failure but not necessarily an authoritative NXDOMAIN. ERR_CONNECTION_REFUSED means DNS worked fine and the server declined the connection — check with the Port Checker or Ping Test.
  • A certificate error mistaken for DNS. If the page loads far enough to warn about the certificate, DNS succeeded. See Fix ERR_CERT_DATE_INVALID and the SSL Certificate Checker.
  • A DNSSEC failure. That returns SERVFAIL, not NXDOMAIN, and Chrome usually shows a different message — but the two get conflated in bug reports. Test with the DNSSEC Checker.

Once the record is in place, confirm it has reached resolvers worldwide with the DNS Propagation Checker, and compare resolvers directly with DNS Compare if reports are inconsistent.

DNS Propagation Checker
Check a DNS record across 85 public resolvers

Frequently asked questions

Why does my site work on my phone but not my laptop?
Different resolvers and different caches. The phone on cellular data uses the carrier's resolver, which either never cached the stale answer or has already expired it. The laptop is behind a router, ISP resolver, or VPN that is still serving old data. Query both with dig @1.1.1.1 to confirm the record itself is fine.
I just created the record. How long until Chrome sees it?
Up to the negative cache lifetime, which is set by the SOA minimum field of your zone, not by the record TTL. Any resolver asked for the name before it existed cached the NXDOMAIN. Flushing your local caches helps your machine immediately, but other people wait out the SOA minimum — read it with the SOA Record Lookup.
Does changing my DNS to 1.1.1.1 or 8.8.8.8 fix this?
It fixes it when the problem is your configured resolver — a stale cache, an outage, or content filtering that returns NXDOMAIN for blocked names. It does nothing when the record is genuinely absent, since every resolver on earth will agree it does not exist. Use the switch as a diagnostic first, and only then as a fix.
What is the difference between this and ERR_NAME_NOT_RESOLVED?
DNS_PROBE_FINISHED_NXDOMAIN specifically reflects an authoritative NXDOMAIN plus a successful probe showing DNS otherwise works. ERR_NAME_NOT_RESOLVED is the broader "resolution failed" case, which can also cover timeouts and resolver errors. The diagnostic path is the same: query a public resolver with dig and read the rcode.
Everyone on our office network sees it but nobody outside does. Where do I look?
At the network's own DNS. Either the gateway is caching a stale NXDOMAIN, or a filtering or security appliance is returning NXDOMAIN for the domain deliberately. Compare dig @<your-gateway-ip> <hostname> against dig @1.1.1.1 <hostname> — if they disagree, the local resolver is the variable, and someone in your organisation configured it that way.

Last updated: 2026-09-01