Skip to content
Cloudzyro
Troubleshooting

ERR_NAME_NOT_RESOLVED: what it means and how to fix it

Kofi Agyem

, Founder and CEO, CloudzyroPublished · 5 min read

On this page
  1. 1. The short answer
  2. 2. What you'll see
  3. 3. What causes it
  4. 4. Fixes for visitors, quickest first
  5. 5. Fixes for site owners and developers
  6. 6. How to check
  7. 7. Sources

ERR_NAME_NOT_RESOLVED means your browser couldn't turn a web address into an IP address. What causes it, in pages and in DevTools, and how to fix it.

1. The short answer

ERR_NAME_NOT_RESOLVED means the browser couldn't turn the name in the address, like `www.example.com`, into an IP address. DNS said the name doesn't exist, or that it has no address, or the lookup failed. Without an address the browser can't connect at all, so you get an error before any page loads.

It's the same failure as DNS_PROBE_FINISHED_NXDOMAIN. ERR_NAME_NOT_RESOLVED is the raw error; Chrome swaps in the DNS_PROBE label on the page once it's tested your DNS. You'll mostly see the raw form in DevTools, on Android, and in apps built on Chromium.

2. What you'll see

  • On the page in Chrome or Edge: This site can't be reached. The server IP address could not be found, with ERR_NAME_NOT_RESOLVED or a DNS_PROBE code.
  • In the DevTools Console: GET https://api.example.com/data net::ERR_NAME_NOT_RESOLVED. The page loaded, but one request on it failed.
  • In the DevTools Network panel: the request shows (failed) with net::ERR_NAME_NOT_RESOLVED as the status.
  • In Firefox and Safari: they don't use this code. Firefox says it's having trouble finding the site; Safari says it can't find the server.
  • In apps built on Electron or a WebView: often the raw error text, net::ERR_NAME_NOT_RESOLVED.

3. What causes it

On a whole page:

  • A typo in the address or a link with a mistake in it.
  • The name doesn't exist in DNS: an expired domain, a domain on hold, or no record for that exact name (for example www is missing).
  • The name exists but has no address. It has other records, like MX for email, but no A, AAAA or CNAME, so there's nothing to connect to.
  • Your DNS lookup failed: a resolver that's down, a VPN that took over DNS, or a Private DNS or Secure DNS setting that can't reach its server.
  • A filter blocked it. Ad blockers, parental controls and company DNS often answer not-found for blocked names.

In the DevTools console, while the page itself loads:

  • A wrong API or asset URL in the code, often a missing environment variable, so the URL becomes something like https://undefined/api.
  • A third-party service that was shut down or renamed, such as an old analytics or font host.
  • An ad or tracker blocked by DNS. That's harmless and expected if you use a DNS-level blocker.
  • A staging host that no longer exists but is still hardcoded.

4. Fixes for visitors, quickest first

  1. Check the spelling of the address and reload.
  2. Try another network, such as your phone on mobile data, to see if it's your connection.
  3. Turn off any VPN, proxy or DNS blocker briefly.
  4. Flush DNS caches, both your system's and Chrome's (commands below).
  5. Check Chrome's Secure DNS setting. Go to Settings, Privacy and security, Security, Use secure DNS. If it names a custom provider, try your current provider or switch it off to test.
  6. On Android, check Private DNS (Settings, Network and internet, Private DNS). If it's set to a hostname, try Automatic.
  7. Use a public DNS resolver like 1.1.1.1 or 8.8.8.8 in your network settings, then restart the browser.
# 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/#dns

5. Fixes for site owners and developers

  1. Find the failing name. In DevTools, open the Network panel, filter by failed requests and read the full URL. It's often not the domain you expected.
  2. Look it up from outside your network with dig against a public resolver (below). If it fails there too, the name genuinely doesn't resolve.
  3. For your own domain: check it's registered and not expired, that its nameservers are where you edit records, and that the exact name has an A, AAAA or CNAME record. See A record vs CNAME.
  4. For a URL built from settings: check the environment variable is set in production, not just on your laptop. A blank host turns a URL into something no resolver can answer.
  5. For a third-party host that's gone: remove the script or move to the service's current address.

If the name belongs to a site on Cloudzyro Sites & Apps, its www or subdomain needs a CNAME to domains.cloudzyro.app, and the bare domain an A record to 173.234.137.167. Every site also keeps its free cloudzyro.app address, so if that loads and your domain doesn't, the problem is the domain's DNS. The site's Domains tab and the domain troubleshooting guide say what's missing.

6. How to check

# Does the name resolve? Look at "status:" and the ANSWER section
dig www.example.com
dig www.example.com @1.1.1.1

# NOERROR with no ANSWER means the name exists but has no address
dig A www.example.com
dig AAAA www.example.com

# Windows (PowerShell)
nslookup www.example.com
Resolve-DnsName www.example.com -Server 1.1.1.1

# The same lookup your app's server makes (run it there, on Linux)
getent hosts api.example.com

Three outcomes are worth telling apart. NXDOMAIN means the name doesn't exist. NOERROR with an empty answer (often called NODATA) means the name exists but has no address record of that type. SERVFAIL or a timeout means the lookup itself broke, often a DNSSEC problem at the domain or a resolver that's down. The first two are fixed in the domain's DNS records; the third may be the resolver or the domain's nameservers.

7. Sources

Questions

What does ERR_NAME_NOT_RESOLVED mean?
The browser asked DNS for the IP address behind a name and got no usable answer. Either the name doesn't exist, it has no address records, or the lookup itself failed.
Is ERR_NAME_NOT_RESOLVED the same as DNS_PROBE_FINISHED_NXDOMAIN?
They're the same failure. ERR_NAME_NOT_RESOLVED is Chrome's underlying error. When Chrome has time to test your DNS and finds it working, it shows the more specific DNS_PROBE_FINISHED_NXDOMAIN on the page instead.
Why do I see net::ERR_NAME_NOT_RESOLVED in the console?
A script, image, font or API call on the page uses a host name that doesn't resolve. The page loads, but that one request fails. Check the request's URL in the Network panel for a typo, a missing environment variable or a deleted service.
Why does it happen only on Android?
Chrome on Android usually shows ERR_NAME_NOT_RESOLVED where desktop Chrome shows the probe result. The usual phone causes are a Private DNS setting that can't connect, a VPN app or an ad-blocking DNS, so check Settings, Network, Private DNS first.
Can a site owner fix ERR_NAME_NOT_RESOLVED?
Yes, when the domain is the problem: renew it if it expired, check its nameservers, and make sure there's an A, AAAA or CNAME record for the exact name visitors use.
Does clearing my browser cache fix it?
Clearing cached images and files doesn't touch DNS. Clear Chrome's host cache at chrome://net-internals/#dns and flush your system's DNS cache instead.

Put your site online free

From your AI tool, Git or a zip, with every version kept.