ERR_CONNECTION_REFUSED in Chrome means your browser reached the computer or server but got no response on the port it tried to connect to. The fix is usually to check whether the site is down, restart the service or device, clear browser data, or adjust firewall/antivirus settings. Below are the common causes and step-by-step solutions that resolve the error in most cases.
What Does ERR_CONNECTION_REFUSED Actually Mean?
Unlike a timeout (where the request silently disappears), ERR_CONNECTION_REFUSED is a definitive rejection. The server is reachable at the network level, but nothing is listening on the port you requested. Think of it like knocking on a door: the building exists, but nobody answers because the apartment is empty or the doorbell is broken.
This error can happen for any site, but it is especially common with:
- Local development servers (e.g., localhost:3000, localhost:8080)
- Self-hosted services (NAS, game servers, home automation)
- Websites that are temporarily down or blocking your IP
- Corporate or school networks with strict firewall rules
Step 1: Check If the Site Is Down for Everyone
Before touching your own settings, confirm the problem is not on the server’s side. Open a different browser (Firefox, Edge) or use your phone on mobile data (not Wi-Fi) to visit the same URL. If it loads elsewhere, the issue is local. If it fails everywhere, the site itself is down or blocking you.
For a quick external check, you can use an online “down detector� service, but be aware these are not always accurate for small sites. A better test is to use the command line:
- Open Command Prompt (Windows) or Terminal (Mac/Linux).
- Type
ping example.comand press Enter. If you get replies, the server is up. - Type
telnet example.com 80(or 443 for HTTPS). If it says “Connection refused,� the port is closed or the service is not running.
Note: telnet is not installed by default on newer Windows versions. You can enable it via “Windows Features� or use Test-NetConnection example.com -Port 80 in PowerShell.
Step 2: Restart the Service or Device
If you are trying to reach a local service (like a Node.js app, MySQL, or a home server), the most common cause is that the service crashed or is not running. Restart the application or the computer that hosts it.
For a local development server, make sure it is actually running in the terminal and that you are using the correct port. A common mistake is starting a server on port 3000 but trying to access port 8080.
For a website that was working before, a simple restart of your router and computer can clear temporary network glitches. Power-cycle the router by unplugging it for 30 seconds, then plug it back in.
Step 3: Clear Chrome Cache and DNS Data
Chrome may be serving a stale cached version of the page that points to a dead connection. Clearing the cache and DNS data often fixes this.
- In Chrome, go to the three-dot menu → Settings → Privacy and security → Clear browsing data.
- Select “Cached images and files� and “Cookies and other site data� (optional but helps).
- Click “Clear data.�
- Then, in the address bar, type
chrome://net-internals/#dnsand click “Clear host cache.�
You can also try opening the site in an Incognito window (Ctrl+Shift+N) to see if an extension or cached data is the culprit. If it works in Incognito, disable your extensions one by one.
Step 4: Disable Proxy and VPN Settings
A misconfigured proxy or VPN can cause Chrome to send requests to a dead endpoint. This is especially common after using a VPN that crashed or a proxy that was turned off incorrectly.
- Go to Windows Settings → Network & Internet → Proxy (or on Mac: System Preferences → Network → Proxies).
- Ensure “Use a proxy server� is off (unless you know you need it).
- If you use a VPN, disconnect it and try the site again.
In Chrome, you can also check if an extension is forcing a proxy. Go to chrome://extensions and disable any VPN or proxy extensions temporarily.
Step 5: Adjust Firewall and Antivirus Settings
Windows Defender Firewall or third-party antivirus software can block Chrome from connecting to certain ports, especially for local network services. This is a common cause when the error appears for localhost or LAN addresses.
- Open Windows Defender Firewall → “Allow an app or feature through Windows Defender Firewall.�
- Make sure Chrome is allowed for both Private and Public networks. If not, click “Change settings� and add Chrome.
- If you use a third-party antivirus, look for a “firewall� or “network protection� setting and temporarily disable it to test. Re-enable it after.
For local services, you may need to allow the specific port (e.g., 3000) through the firewall. This is done via “Advanced settings� → “Inbound Rules� → “New Rule.� Be careful: opening ports to the internet is a security risk; only do this for trusted local services.
Step 6: Reset Chrome Flags and Network Settings
Chrome flags (experimental features) can sometimes interfere with connections. Resetting them is safe and reversible.
- In Chrome, go to
chrome://flagsand click “Reset all� at the top right. - Restart Chrome.
If that does not work, reset the network stack on your operating system:
- Windows: Open Command Prompt as administrator and run
ipconfig /flushdns,netsh winsock reset, andnetsh int ip reset. Restart your PC. - Mac: Go to System Preferences → Network → select your connection → “Advanced� → “DNS� → remove any custom DNS servers, then click “OK.�
- Linux: Restart the network manager or use
sudo systemctl restart NetworkManager.
Frequently Asked Questions
Why do I get ERR_CONNECTION_REFUSED on localhost but not on other sites?
This almost always means the local server (e.g., Apache, Node, Python) is not running or is listening on a different port. Check the terminal where you started the server for errors. Also verify the port number in your URL matches the one the server is bound to.
Can a VPN cause ERR_CONNECTION_REFUSED?
Yes. A VPN can route your traffic to a server that refuses the connection, or the VPN’s kill switch may block direct connections. Disconnect the VPN and try again. If it works, reconfigure the VPN or use a different server.
Does clearing cookies fix ERR_CONNECTION_REFUSED?
Sometimes. Cookies can store a session that points to a dead server, especially after a server migration. Clearing cookies and cache is a quick, low-risk step that resolves a small percentage of cases.
Is ERR_CONNECTION_REFUSED a security risk?
No, it is not a security warning. It simply means the server refused the connection. It does not indicate malware or a hacking attempt. However, if you see it on a site you trust, it is usually a temporary outage or a local network issue.
What if the error only happens in Chrome but not in other browsers?
This points to a Chrome-specific issue: an extension, corrupted profile, or a flag. Try Incognito mode first (disables extensions). If that works, disable extensions. If not, create a new Chrome profile or reinstall Chrome.
How do I fix ERR_CONNECTION_REFUSED on my phone?
On Android or iOS, the same steps apply: restart the phone, toggle airplane mode, clear the browser cache, and check if the site works on mobile data. If you are on a corporate Wi-Fi, the network may be blocking the port.
Related
General steps for current mainstream versions; menus can differ by device and version. See the disclaimer or report an error.
More in this bed
- iPhone/iPad Recovery Mode When Device Is Unavailable
- Android Button Not Working? Quick Fixes
- Prevent Malicious Package Installation on Linux
- Create App Folders in Windows 11 Start Menu
- Netflix Downloads Expire: Why and How to Renew Them
- Fix BattlEye Service Driver Load Error