ERR_ADDRESS_UNREACHABLE

ERR_ADDRESS_UNREACHABLE is the browser telling you it never even got to knock on the door. It is not that the server said no, or that it stayed silent. Your device looked at the destination address, found no way to send a packet toward it, and stopped. The failure happened on your side of the conversation, before any conversation existed.

Updated August 2026 · 7 min read

  • Written by

    Andrian Valeanu Andrian Valeanu Founder of Pulsetic

    Andrian Valeanu founded Pulsetic and, before it, Designmodo. Across 15-plus years he has shipped web products, design tools, and monitoring software teams around the world rely on.

  • Reviewed by

    Ionut Caval Ionut Caval Technical reviewer

    Ionut Caval reviews Pulsetic's technical guides for accuracy. He works hands-on with web servers, networking, and uptime monitoring day to day, and makes sure the causes and fixes here hold up in production.

The short version: Load the same page on mobile data. If it works, the problem is your network rather than the website, and the usual causes are a VPN or proxy capturing traffic, a router that needs restarting, or IPv6 being advertised but not actually working. If only one website fails, check what the domain resolves to with dig, since a private or stale address produces exactly this.

Key takeaways

  • ERR_ADDRESS_UNREACHABLE is Chromium net error -109. It means your device could not find a route to the destination address at all, so no connection was ever attempted.
  • This is a routing failure, not a server failure. A server that is down but reachable answers with a refusal or a timeout instead, which is why this error rarely means the website itself is broken.
  • The fastest diagnosis is to load the same page on mobile data. If it works there, the fault is on your network, and you have narrowed it down in about ten seconds.
  • IPv6 is a recurring culprit: a domain publishing an AAAA record on a network that advertises IPv6 it cannot actually deliver produces exactly this error while every other device elsewhere works fine.
  • A domain resolving to an address your network cannot reach, such as a private IP from a stale or split-horizon DNS record, produces the same message for one website while everything else loads.
Error type
Browser connection error (Chromium net error -109)
Whose side
Usually your network or its routing, not the website
Fix difficulty
Easy to moderate
Common cause
No route to the destination address

How did you find out this time?

Pulsetic is website uptime monitoring. It checks your URL from outside your network as often as every 30 seconds, confirms any failure from another region, then emails you.

10 monitors free, email alerts on failure and recovery. No credit card.

What does ERR_ADDRESS_UNREACHABLE mean?

ERR_ADDRESS_UNREACHABLE is Chromium net error -109, and it describes a failure that happens earlier than most connection errors. Before a browser can request a page it needs a path to the destination address, and that path is decided by your operating system and the routers between you and the server. When no such path exists, the attempt is abandoned immediately and nothing is ever sent. Often a router along the way reports the fact explicitly with an ICMP destination-unreachable message, the mechanism RFC 792 defines for exactly this situation, and the browser turns that into the error you see.

That timing is what makes the error informative. A refused connection means your packet reached a machine which answered with a reset, so routing worked and the port was simply closed. A timeout means packets left and nothing came back, so the path may exist but something is swallowing traffic. Unreachable means the journey never started. The practical consequence is that this error rarely indicates the website is down. It points at your network, at a VPN or security tool rewriting routes, at IPv6 that is advertised but not functional, or at a domain resolving to an address your network genuinely cannot reach.

YouDNSNetworkCDN / ProxyWeb serverApp / DB
The path a request takes from your browser to the website's servers. An ERR_ADDRESS_UNREACHABLE is produced at the highlighted stages.
-109
The Chromium net error number behind this message, defined in net_error_list.h
ICMP
The protocol a router uses to report that a destination cannot be reached, per RFC 792
AAAA
The IPv6 DNS record type that causes this when a network advertises IPv6 it cannot deliver

How the ERR_ADDRESS_UNREACHABLE error appears

The wording changes depending on your browser, device, or server. Here is how this error commonly shows up:

What an ERR_ADDRESS_UNREACHABLE looks like in the browser. The exact wording varies by browser, device, and server.
  • ERR_ADDRESS_UNREACHABLE
  • net::ERR_ADDRESS_UNREACHABLE
  • This site can't be reached, example.com is unreachable
  • Address unreachable
  • No route to host
  • Destination host unreachable

Unreachable, refused, timed out and unresolved

Chromium distinguishes these because each one fails at a different stage, and confusing them sends you looking in the wrong place.

Error What it means Who fixes it
ERR_ADDRESS_UNREACHABLE No route to the destination existed, so nothing was sent. The failure is in the path, not at either end. Usually you or your network administrator, by fixing routing, a VPN, or IPv6.
ERR_CONNECTION_REFUSED The packet arrived and a machine actively refused it with a TCP reset. Routing worked; nothing was listening. The website owner, by starting the service, or whoever set the firewall rule.
ERR_CONNECTION_TIMED_OUT Packets were sent and nothing ever answered, so the connection attempt expired. Either side: a silent firewall, an overloaded server, or a lossy network.
ERR_NAME_NOT_RESOLVED The domain name never resolved to an address, so there was nothing to route to. Your DNS resolver, or the website owner's DNS records.

Three ways a connection fails, and what each one tells you

Chromium reports these separately because they fail at different points, and each one narrows the search to a different place.

ErrorWhat happenedWhere to look
ERR_ADDRESS_UNREACHABLENo route to the address; nothing was ever contactedYour network, routing, VPN, or IPv6
ERR_CONNECTION_REFUSEDA machine answered with a reset: nothing listening thereThe server, or a firewall at the far end
ERR_CONNECTION_TIMED_OUTPackets left but nothing ever came backA silent firewall, or an overloaded server
ERR_NAME_NOT_RESOLVEDThe name never became an address at allDNS: the resolver or the domain records

What causes ERR_ADDRESS_UNREACHABLE?

  • No working network route at all: a router that needs restarting, a dropped Wi-Fi link, or a network the device joined without receiving a usable gateway.
  • A VPN, proxy, or security suite capturing traffic and failing to route it, which black-holes destinations without reporting anything useful.
  • IPv6 advertised but not actually functional. The domain publishes an AAAA record, the browser prefers it, and there is no IPv6 path to the address.
  • The domain resolving to an address your network cannot reach, such as a private range returned by a stale record or a split-horizon DNS setup.
  • A firewall or router rule that drops traffic to a specific destination, network, or port range, so one website fails while everything else loads.
  • A stale DNS cache pointing at an old address for a server that has since moved, where the old address is no longer routable.
  • Corporate or captive networks that restrict outbound routing, permitting only traffic through a proxy that the browser is not configured to use.

How to find the cause fast

  1. Try the same page on mobile data or another network. Working there proves the website is fine and the path from your current network is not.
  2. Check whether every website fails or only this one. Everything failing points at your connection; a single website points at that domain's address.
  3. Run dig +short example.com or nslookup and look at the address. A private range or an unexpected address explains it outright.
  4. Disable VPNs, proxies, and traffic-inspecting security tools, then retry. These are the most common cause on an otherwise healthy connection.
What an ERR_ADDRESS_UNREACHABLE looks like from the command line. The grey lines starting with # are explanatory comments.

How ERR_ADDRESS_UNREACHABLE looks from the outside

This error is generated by your own device, so nothing about it reaches the website and it will never appear in the website's logs. That cuts both ways. If you are the visitor, the website is probably fine. If you own the website, a route that stops working for one region or one network is completely invisible from your side: your server sees fewer requests and no errors at all. Checking availability from several locations outside your own network is what turns a silent regional routing failure into something you find out about, rather than something your visitors discover for you.

How to fix ERR_ADDRESS_UNREACHABLE

If you are a visitor

  1. Load the same page on mobile data. If it works, the problem is your current network and the steps below are where to look.
  2. Restart your router and reconnect, which clears the majority of transient routing faults.
  3. Turn off any VPN, proxy, or security suite that handles traffic, then retry before turning them back on one at a time.
  4. Flush your DNS cache (ipconfig /flushdns on Windows, sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder on macOS) in case a stale address is being used.
  5. Disable IPv6 on the network adapter temporarily. If the page then loads, your network is advertising IPv6 it cannot actually route.
  6. Check what the domain resolves to with nslookup example.com. A private address such as 10.x or 192.168.x means DNS is sending you somewhere unreachable.
  7. On a corporate or public network, check whether outbound traffic is restricted to a proxy the browser is not configured to use.

If you run the website

  1. Confirm the domain's A and AAAA records point at addresses that are publicly routable. A stale AAAA record for IPv6 you no longer serve breaks visitors on IPv6-capable networks while everyone else is unaffected.
  2. Remove AAAA records if you are not genuinely serving IPv6. Advertising an address you cannot answer on is worse than not advertising one.
  3. Check that your hosting provider or firewall is not null-routing traffic from particular networks or regions, which produces this error for those visitors only.
  4. Verify reachability from several external networks rather than from inside your own infrastructure, where routing usually works by definition.
  5. If you moved servers, make sure old addresses stop being published and that TTLs were lowered ahead of the change so caches turn over quickly.

Still not fixed? Next steps

  • Establish scope first. Does every website fail, or only this one? Everything failing points at your connection or router; a single website points at that domain's address or a route to it.
  • Check what the name resolves to with nslookup or dig. An address in a private range, or one that does not match what the website publishes, explains the whole thing.
  • Test the same address from a different network, mobile data being the easiest. A page that loads elsewhere confirms the website is fine and the path from where you are is not.
  • Disable IPv6 on the adapter temporarily, or request the IPv4 address directly. If that fixes it, the network is advertising IPv6 connectivity it cannot deliver.
  • Turn off any VPN, proxy, or security suite that captures traffic. These insert themselves into routing and can black-hole destinations without reporting anything.

Code & configuration

Copy-paste starting points. Replace example.com and the paths with your own, and test changes on staging before production.

Separate a routing failure from a DNS problem

# what does the name actually resolve to?
dig +short example.com
# 10.4.2.9        <- private: your network cannot route there

# is there a path to it at all?
ping -c 3 example.com
# ping: sendto: No route to host

Test whether IPv6 is the cause

# force IPv4 and see if the request suddenly works
curl -4 -I https://example.com
# then force IPv6
curl -6 -I https://example.com
# IPv4 working while IPv6 fails means an AAAA record you cannot reach

Flush a stale address out of the local cache

# Windows
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

How to prevent ERR_ADDRESS_UNREACHABLE

A routing failure never reaches your server, so it leaves no trace in your logs: from the inside, affected visitors simply stop arriving. A stale AAAA record or a null-routed network can cut off a whole region while every internal dashboard stays green. Pulsetic checks your website from multiple locations every 30 seconds and alerts you by email, SMS, voice call, Slack, Discord, Telegram, or webhook the moment it stops answering from any of them, which is what makes a regional routing problem visible from outside instead of invisible from within.

Learn how Pulsetic's uptime monitoring detects this from the outside, across 15+ locations.

Sources and further reading

The specifications and vendor documentation this guide is written from, plus deeper reading on the parts it only summarises.

Frequently asked questions

  • What does ERR_ADDRESS_UNREACHABLE mean?

    It means your device could not find any route to the address it was trying to reach, so it never sent the request. This is Chromium net error -109. Unlike a refused connection, where a machine answered and said nothing was listening, or a timeout, where packets left and nothing came back, here the attempt failed before anything was transmitted. The problem lives in the network path rather than at the server.

  • How do I fix ERR_ADDRESS_UNREACHABLE?

    Start by loading the page on mobile data. If it works, your current network is at fault: restart the router, turn off any VPN or proxy, flush the DNS cache, and try disabling IPv6 on the adapter. If only one website fails, check what the domain resolves to with dig or nslookup, because a private or stale address produces exactly this error while everything else loads normally.

  • Is ERR_ADDRESS_UNREACHABLE the website's fault?

    Usually not. A website that is genuinely down but still reachable on the network answers with a refusal or a timeout instead. This error points at routing, which is why it so often turns out to be a VPN, a router, or IPv6. The website can be responsible in one specific way: publishing an AAAA record for IPv6 it does not actually serve, which breaks visitors on IPv6-capable networks while leaving everyone else unaffected.

  • Why does it work on my phone but not my computer?

    Because the two are almost certainly on different networks, and this error is about the network path. Your phone on mobile data routes through your carrier, while your computer routes through your router, its firewall, and whatever VPN or security software is installed. Any of those can break a route that the carrier handles fine. That difference is not a nuisance, it is the fastest diagnostic available: it tells you the website is up and the fault is local.

  • Can a VPN cause ERR_ADDRESS_UNREACHABLE?

    Frequently. A VPN inserts itself into your routing table, and if the tunnel drops, misconfigures its routes, or has a kill switch that blocks traffic outside it, destinations become genuinely unreachable. The same is true of proxies and of security suites that inspect traffic. Disconnecting them entirely, rather than merely disabling one feature, is the reliable way to rule them out.

  • What is the difference between this and ERR_NAME_NOT_RESOLVED?

    They fail at consecutive stages. ERR_NAME_NOT_RESOLVED means the domain name never became an IP address, so DNS is the problem and there was nothing to route to. ERR_ADDRESS_UNREACHABLE means the name resolved fine, you have an address, and there is no path to it. Resolution succeeded and routing failed. Checking what the name resolves to separates the two in one command.

  • Does IPv6 cause this error?

    It is one of the most common causes on otherwise healthy connections. When a domain publishes an AAAA record and your network advertises IPv6 support it cannot actually deliver, the browser prefers IPv6, tries the address, and finds no route. The website works everywhere else, which makes it look like a problem with your machine. Comparing curl -4 against curl -6 confirms it in two commands.

  • What is the difference between ERR_ADDRESS_UNREACHABLE and ERR_CONNECTION_REFUSED?

    They fail at different layers, and the distinction tells you where to look. A refusal means the packet arrived somewhere and a machine answered with a TCP reset saying nothing is listening on that port, so routing worked perfectly. Unreachable means the packet never got that far: your device or a router along the way had no route to the destination and gave up before any conversation started. Refused is a fast no from the far end. Unreachable is a fast no from the path itself.

  • Why does the page load on mobile data but not on Wi-Fi?

    Because the two networks route differently, and that is a strong signal the problem is the network rather than the website. A home or office router with a broken route, an aggressive firewall rule, a VPN capturing traffic, or a stale IPv6 configuration will all break one path and leave the other untouched. Testing on mobile data is the single fastest way to split "this website is down" from "my network cannot reach it", and it takes seconds.

  • Can IPv6 cause ERR_ADDRESS_UNREACHABLE?

    Yes, and it is one of the more confusing causes. If a domain publishes an AAAA record and your network advertises IPv6 support it cannot actually deliver, the browser tries the IPv6 address and finds no route. Other devices on other networks work fine, so the website looks healthy from everywhere except where you are. Testing the IPv4 address directly, or temporarily disabling IPv6 on the adapter, confirms it quickly.

  • Does this error mean the website is down?

    Usually not. It means your traffic could not find a path to the address, which is a routing problem rather than a server problem. A server that is genuinely down but still reachable on the network answers with a refusal or a timeout instead. The way to be sure is to check the same address from a network you do not control, either mobile data or an external checking service, and see whether it answers there.

  • Why do I see this only for one specific website?

    A single affected website usually points at that domain's address rather than at your connection generally. The domain may resolve to an IP your network genuinely cannot route to, such as a private address returned by a misconfigured DNS record or a split-horizon setup, or your resolver may be handing back a stale address for a server that has since moved. Checking what the name actually resolves to, with nslookup or dig, is the first thing worth doing.

Trusted by teams at companies around the world