ERR_CONNECTION_REFUSED has a particular sting to it. Where other errors say "not found" or "took too long," this one is blunter: the server was reachable, your browser knocked — and the door was slammed shut. That "refused" is the key clue. It means something actively rejected the connection, which narrows the causes down nicely and makes this error very fixable. Here are 7 proven fixes for Windows, Mac and Android, ordered so you try the fastest, most likely ones first.

What ERRCONNECTIONREFUSED actually means

When you load a page, your browser opens a connection to the site's server on a specific port. Normally the server accepts it. But if the server isn't running, isn't listening on that port, or if a firewall or proxy between you and it says no, the connection is refused — and Chrome shows this error instead of a page.

That's different from a timeout. A timeout means silence (nothing answered); a refusal means something answered with a firm "no." Because of that, the causes fall into two buckets: either the site's server is down or misconfigured, or something on your side — a firewall, proxy, VPN, or stale browser data — is blocking the connection. The fixes below rule out your side first, since that's where you have control.

7 proven fixes for ERRCONNECTIONREFUSED

1. Check whether the site is down for everyone

Start here — it decides everything. Run the site through our live website down checker. It connects from our servers, on a totally different network from yours. If our server is refused too, the site's server is down or misconfigured and there's nothing to fix on your end but wait. If our server connects fine, the problem is local and the steps below will clear it. Our guide on whether a site is down for everyone or just you explains how to read the result.

2. Clear your browser cache and cookies

A corrupted cache or an outdated cookie can break the connection to one specific site. The fastest test is to open the page in an incognito/private window (which ignores cache and extensions). If it loads there, clear your cached images and cookies:

  • Windows & Mac (Chrome): Settings → Privacy and security → Clear browsing data
  • Android (Chrome): tap ⋮ → Settings → Privacy and security → Clear browsing data

Then reload normally.

3. Disable browser extensions

Ad-blockers, privacy tools, and security extensions sometimes block connections outright. Turn them off — or use that incognito window from Step 2, where most extensions are disabled by default. If the site loads, re-enable your extensions one at a time to find the guilty one.

4. Flush your DNS cache

Stale DNS data can point your device at the wrong server, which then refuses you. Flushing forces a fresh lookup:

  • Windows: ipconfig /flushdns in Command Prompt
  • Mac: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
  • Android: toggle Airplane Mode on and off, or restart the device

Our full step-by-step DNS flush guide walks through each platform in detail.

5. Turn off your firewall, antivirus, VPN, or proxy

This is the single most common cause of a local connection refusal. A firewall or antivirus may be blocking the site, and a VPN or proxy can route you through a server that rejects the connection. Disable each one at a time and reload:

  • On Windows, check Windows Security → Firewall & network protection.
  • On Mac, check System Settings → Network → Firewall.
  • On Android, disable any VPN or "private DNS" apps under Settings → Network.

If the site loads, add it to the tool's allow-list rather than leaving protection off.

6. Check your proxy settings

A misconfigured proxy will get you refused on every site. Make sure you aren't routing through a dead proxy server:

  • Windows: Settings → Network & Internet → Proxy → turn off any manual proxy you didn't set on purpose.
  • Mac: System Settings → Network → Details → Proxies → uncheck anything unexpected.

7. Change your DNS server and restart your router

If you've reached this point, switch to a reliable public DNS resolver — Cloudflare's 1.1.1.1 or Google's 8.8.8.8 — in your network settings. Then restart your router (unplug for 30 seconds) to clear any router-level cache or block. This combination clears most stubborn cases that survive the earlier steps.

A quick note for developers (localhost)

If you're seeing ERR_CONNECTION_REFUSED on localhost or 127.0.0.1, the cause is almost always that your local server simply isn't running, or it's listening on a different port than the one in your URL. Confirm the service is started and that you're using the correct port — that fixes the developer version of this error nearly every time.

Still getting ERRCONNECTIONREFUSED?

If you've worked through all seven and a single site still refuses you while everything else loads, the problem is almost certainly on the site's end — its server is down or misconfigured. Our checklist on fixing a site that's down for you but not everyone covers the last few edge cases. And if you want to understand how this error relates to the other "This site can't be reached" variants, our guides on ERRCONNECTIONTIMEDOUT and the broader "This site can't be reached" fixes round out the full picture.

The takeaway: "refused" means an active rejection, not a dead PC. Confirm whether the site is down for everyone, then clear your browser data, DNS, and security tools — and you'll resolve the overwhelming majority of cases in just a few minutes.