
ERR_CONNECTION_TIMED_OUT means your browser sent a request to open a connection, but the server never answered before the wait expired. Nothing refused the connection; the packets got no reply. The usual causes are a firewall silently dropping traffic, an overloaded or offline server, a DNS record pointing at a dead IP, or a broken route between you and the host.
What does the "err connection timed out" error mean?
A timeout is "silence in response." To load a page over HTTPS, the browser first opens a TCP connection: it sends a SYN packet to port 443 and waits for a SYN-ACK. If no reply arrives, the operating system retransmits the SYN a few more times with growing gaps, and when it gives up, Chrome shows "This site can't be reached — example.com took too long to respond" with the code ERR_CONNECTION_TIMED_OUT. In Chromium's own list of network errors this is error -118 (see the Chromium net_error_list.h).
This is fundamentally different from ERR_CONNECTION_REFUSED, where the server replies with an instant rejection (a TCP RST: the host is up, but nothing listens on the port). A refusal is fast and certain; a timeout is slow and ambiguous, because silence can be produced at any point on the path.
A timeout almost always relates to the network or load: packets don't arrive, are dropped at an intermediate hop, or the server can't process the connection in time.
ERR_CONNECTION_TIMED_OUT vs similar errors
Most "fix" guides treat every connection error the same way. They are not the same, and the code tells you which layer to look at first:
| Error | What actually happened | Where to look first |
|---|---|---|
ERR_CONNECTION_TIMED_OUT | No reply to the TCP connection attempt at all | Firewall DROP rules, server down or overloaded, wrong IP in DNS, routing |
ERR_TIMED_OUT | A generic operation timed out; often the connection opened but the response stalled | Slow backend, stalled TLS handshake, proxy, MTU problems |
ERR_CONNECTION_REFUSED | The host answered with a reset: nothing listens on that port | Web server stopped, wrong port, service bound to localhost only |
ERR_CONNECTION_RESET | The connection opened and was then torn down mid-way | Middleboxes, antivirus HTTPS inspection, server crashes |
| HTTP 504 Gateway Timeout | A proxy or load balancer reached you, but its upstream did not answer | Application server, upstream timeouts in nginx or the load balancer |
| Cloudflare 522 | Cloudflare could not complete a TCP connection to your origin | Origin firewall blocking Cloudflare IPs, origin down |
If you see 504 or 522, the browser did connect — to a proxy — so client-side fixes like flushing DNS will not help. See Cloudflare 522 Connection Timed Out and ERR_CONNECTION_REFUSED for those cases.
Main causes
- Server overloaded — high traffic, low resources, slow database; the listen queue fills up and new connections are dropped.
- Firewall with a DROP rule — packets are discarded without a reply. This includes cloud security groups, host firewalls, fail2ban bans and hosting-provider DDoS filters.
- Stale or wrong DNS record — the domain still resolves to an old server IP where nothing answers anymore.
- Routing problem — packet loss at an intermediate hop.
- Unstable connection — Wi-Fi, mobile, or a congested link.
- Local interference — a dead proxy configured in the OS, a VPN client that lost its tunnel, or security software filtering traffic.
- Geo or ISP-level block of traffic to the server.
ERR_CONNECTION_TIMED_OUT on one website only
This is the most common report, and it is the most useful clue. If every other site loads, your internet connection is fine and the problem is either the site itself or the path to it. Work through three questions:
- Is it down for everyone? Check the site from outside your network: the enterno HTTP checker connects from our servers and shows the status code and response time. If it also times out, the problem is on the server side and nothing on your computer will fix it.
- Does the name resolve to the right IP? Compare what your machine resolves (
nslookup example.com) with a public DNS lookup. A different IP on your side points to a stale local cache or a hosts-file entry. - Is only your network affected? Load the site on the same device over mobile data. If it works there, the block or fault is in your ISP, router or office network.
How to fix ERR_CONNECTION_TIMED_OUT in Chrome
Chrome, Edge, Opera and Brave share the Chromium network stack, so the same steps apply to all of them. Start with checks that tell you something, not with the cache:
- Open the site in an incognito window with extensions disabled. If it loads, an extension (ad blocker, proxy or "privacy" add-on) is the cause.
- Clear Chrome's internal DNS cache: open
chrome://net-internals/#dnsand click Clear host cache, thenchrome://net-internals/#socketsand Flush socket pools. - Check the proxy: Chrome uses the system proxy settings. A configured proxy that is offline produces exactly this timeout.
- Clearing cookies and cached files rarely fixes a connection timeout: the browser never received a response to cache. Do it last, not first.
ERR_CONNECTION_TIMED_OUT in Edge, Firefox, Safari and Opera
The wording differs by browser, but the underlying event — no reply to the connection attempt — is the same:
| Browser | What you see |
|---|---|
| Chrome, Opera, Brave | "This site can't be reached … took too long to respond." ERR_CONNECTION_TIMED_OUT |
| Microsoft Edge | "Hmm… can't reach this page … took too long to respond." ERR_CONNECTION_TIMED_OUT |
| Firefox | "The connection has timed out. The server at example.com is taking too long to respond." |
| Safari | "Safari can't open the page because the server where this page is located isn't responding." |
If a site times out in Chrome and Edge but loads in Firefox, suspect something Chromium-specific: an extension, Chrome's own "secure DNS" setting (Settings → Privacy and security → Security → Use secure DNS) pointing at an unreachable provider, or a policy pushed by your organization. Firefox has its own DNS-over-HTTPS setting too, which is why the two browsers can resolve a name differently.
User-side diagnostics
Determine whether packets reach the server and where they're lost:
ping example.com
traceroute example.com # macOS/Linux
tracert example.com # Windows
curl -I -v --max-time 15 https://example.com
If ping works but curl hangs, the problem is at the application layer or a firewall. If ping fails, check traceroute for where the path breaks. Keep in mind that many servers block ICMP, so a failing ping alone does not prove the host is down; test the actual port instead:
# Windows PowerShell
Test-NetConnection example.com -Port 443
# macOS / Linux
nc -vz -w 5 example.com 443
# Compare IPv4 and IPv6 paths
curl -4 -I --max-time 10 https://example.com
curl -6 -I --max-time 10 https://example.com
If Test-NetConnection reports TcpTestSucceeded : False or nc times out, the port is unreachable from your network. If only the -6 request hangs, the domain has an AAAA record that points to an address that does not answer. Reading the hops is covered in how to read traceroute output.
User-side fix
- Flush the DNS cache:
ipconfig /flushdns(Windows) orsudo dscacheutil -flushcache(macOS). Step-by-step commands for every OS are in the DNS cache flush guide. - Disable VPN, proxy, and your local firewall, then retry.
- Switch to mobile data to rule out your ISP.
- Reboot the router and check Wi-Fi stability.
- Try a different DNS resolver (1.1.1.1 or 8.8.8.8).
Err connection timed out on Windows 10 and Windows 11
Beyond the DNS flush, three Windows-specific places cause timeouts that survive a reboot:
- Proxy settings: Settings → Network & internet → Proxy. Turn off "Use a proxy server" unless you know you need one.
- Hosts file:
C:\Windows\System32\drivers\etc\hosts. An old line mapping the domain to a retired IP sends every request to a server that no longer answers. - Network stack reset: in an elevated Command Prompt run the commands below, then restart the computer.
netsh winsock reset
netsh int ip reset
ipconfig /release
ipconfig /renew
ipconfig /flushdns
How to fix ERR_CONNECTION_TIMED_OUT on Android and mobile
- Switch between Wi-Fi and mobile data. If the site loads on one and not the other, the problem is that network, not the phone.
- Toggle airplane mode on and off to drop and re-establish the connection.
- Check Settings → Network & internet → Private DNS. A hostname typed there that no longer responds breaks name resolution; set it to Automatic to test.
- Pause VPN or "data saver" apps, which route traffic through their own servers.
- In Chrome for Android, clear the site's data: Settings → Site settings → All sites, pick the domain, and clear it.
On a Chromebook the same logic applies: test another network first, then check the proxy and DNS settings of the connected network in ChromeOS settings.
Server-side fix
If everyone sees the timeout, check load and the firewall:
# Load and memory
top
free -m
# Is the firewall silently dropping packets?
sudo iptables -L -n -v | grep -i drop
sudo ufw status verbose
Raise the web-server worker limits, optimize slow database queries, and make sure the firewall isn't blocking legitimate traffic with a DROP rule.
Then confirm, step by step, where the SYN packets die:
# Is anything listening on 80/443?
sudo ss -lntp | grep -E ':(80|443) '
# Do connection attempts even reach the machine?
sudo tcpdump -ni any 'tcp port 443 and (tcp[tcpflags] & tcp-syn != 0)'
# Is the listen queue overflowing?
nstat -az TcpExtListenOverflows TcpExtListenDrops
# nftables, firewalld and fail2ban
sudo nft list ruleset | grep -i drop
sudo firewall-cmd --list-all
sudo fail2ban-client status
How to read the results:
- No SYN in tcpdump — packets are dropped before the server: a cloud security group, the provider's network firewall, or DNS pointing somewhere else. Check the A and AAAA records against the server's real IP.
- SYN arrives but no SYN-ACK goes out — the host firewall drops it, or the IP is banned by fail2ban.
- Listen overflow counters grow — the application accepts connections too slowly. Add workers, fix slow requests, and review the backlog (
net.core.somaxconnand thebacklog=parameter of the nginxlistendirective). - Nothing listens on the port — that normally gives "refused", but behind a DROP policy it looks like a timeout. Start the service.
On Linux, how long a client waits is governed by the kernel's SYN retransmission count; the tcp_syn_retries parameter is documented in the tcp(7) man page.
Causes and solutions
| Cause | Solution |
|---|---|
| Server overload | Scale resources, optimize the database |
| Firewall DROP | Switch to REJECT to diagnose, open the port |
| Network packet loss | Check traceroute, contact the host |
| Unstable Wi-Fi | Use a cable, reboot the router |
| ISP block | Change DNS, test from another network |
| Stale DNS record or hosts entry | Update the A/AAAA record, remove the hosts line, flush caches |
| Dead proxy or VPN | Disable the proxy in OS settings, reconnect or pause the VPN client |
How to check whether the site is reachable
Timeouts are often intermittent: the site loads, then doesn't. Catching them by hand is nearly impossible — you need continuous monitoring that records slow responses and outages and sends an alert. A multi-region check (RU/EU/US) instantly shows whether the server is globally overloaded or the issue is only in your region.
Check ping and port availability, and the HTTP checker shows the server's response time. If DNS is the culprit, see the DNS lookup. The traceroute tool shows the route from our servers, which you can compare with your own tracert. To be alerted the next time the site stops answering, set up uptime monitoring. For more, read the monitoring guide.
FAQ
How to fix connection timed out error?
First find out whether the site is down for everyone by checking it from an external service. If it is, only the site owner can fix it. If it is not, flush DNS, disable proxies, VPN and extensions, and test from another network to locate the fault.
How do I fix err_timed_out?
ERR_TIMED_OUT usually means the connection opened but the response stalled. Test the page with curl -v --max-time 15: if it hangs after the TLS handshake, the backend is slow; if it hangs during the handshake, suspect a proxy, security software or MTU issues on your network.
Does err_timed_out mean my internet is bad?
Not necessarily. If other sites load normally, your connection is fine and the problem is the site or the route to it. If every site times out, restart the router and check your connection.
Why does the site load sometimes and time out other times?
An intermittent timeout points to server overload or an unstable network. Under peak load, connections queue up and can't be processed in time.
How long does the browser wait before timing out?
It depends on the browser and OS, because the wait is set by how many times the system retransmits the connection request. That's far too long for a user, so fix the cause rather than wait it out.
How do I tell a network problem from a server problem?
traceroute shows where the path breaks. A break at the last hop means the server; a break earlier means the network between you and it. Checking the site from another network or an external checker confirms it.