ERR_TOO_MANY_REDIRECTS: What It Means and How to Fix It

Appears on: Chrome, Edge. ERR_TOO_MANY_REDIRECTS means the site is stuck in a redirect loop. The fix is almost always clearing cookies for that site — the issue is in stale session state, not your connection.

What ERR_TOO_MANY_REDIRECTS Actually Means

Chrome imposes a hard limit of approximately 20 redirects in a single navigation chain. When a server keeps redirecting the browser in a loop — A redirects to B, B redirects back to A, or a longer cycle — Chrome counts each hop and aborts with ERR_TOO_MANY_REDIRECTS once the limit is reached. The error means the server configuration is broken for your specific request, not that your internet connection is down.

What Causes Redirect Loops

Redirect loops have several distinct root causes, and the fix depends on which one applies:

  • HTTPHTTPS loop — the server redirects HTTP to HTTPS, but the HTTPS version then redirects back to HTTP (or to another HTTP URL). Common when a reverse proxy or load balancer terminates SSL and forwards plain HTTP to the origin server, which then issues its own HTTP-to-HTTPS redirect.
  • www → non-www loop (or reverse) — the canonical redirect rule sends www to non-www but a second rule sends non-www back to www. Often caused by conflicting rules in .htaccess and the CMS admin panel at the same time.
  • CMS misconfiguration — WordPress stores the site URL in the database (siteurl and home options in wp_options). If these are set to HTTP but the server forces HTTPS, or if they point to the wrong domain after a migration, a redirect loop results. The same problem occurs in Drupal, Joomla, and other CMS platforms with stored base URL settings.
  • CDN or proxy double-redirect — a CDN like Cloudflare set to "Flexible" SSL mode encrypts traffic between the visitor and Cloudflare but sends plain HTTP to the origin. If the origin server also redirects HTTP to HTTPS, every request loops: visitor → Cloudflare HTTPS → origin HTTP → origin redirects to HTTPS → Cloudflare HTTPS → origin HTTP → loop.
  • Stale cookies holding redirect state — some authentication and session cookies encode a redirect destination. If the cookie is stale or points to a URL that itself redirects, the loop is driven by client-side state rather than server configuration. This is why clearing cookies resolves most cases from the user's side.

How to Diagnose a Redirect Loop

Before applying fixes, confirm the exact loop pattern. Three tools help:

  • Browser DevTools Network tab — open DevTools (F12), go to the Network tab, check "Preserve log", then navigate to the failing URL. Each redirect appears as a separate row with a 301 or 302 status. Reading the Location header on each response shows exactly which URLs the loop cycles through.
  • curl -L -v <URL> — from a terminal, this follows all redirects verbosely and prints every request and response header. The output makes the loop pattern immediately visible without a browser involved, which helps isolate server-side from client-side causes.
  • Online redirect checker — tools like redirect-checker.org or httpstatus.io follow the redirect chain from a neutral server and display each hop with its status code. Useful for confirming whether the loop is server-side (visible to all visitors) or specific to your browser state.

How to Fix ERR_TOO_MANY_REDIRECTS

Step 1: Clear cookies for the site

In Chrome, click the lock icon in the address bar → Cookies and site data → Manage on-device site data. Delete only the cookies for the failing domain, then reload. This resolves loops caused by stale session or authentication cookies and fixes the majority of cases visitors encounter.

Step 2: Try incognito mode

Incognito starts with no cookies and no extensions. If the site loads correctly in incognito, either a cookie or a browser extension was causing the loop — not the server. Identify which by re-enabling extensions one at a time in a normal window.

Step 3: Disable URL-rewriting extensions

Extensions that modify requests — legacy HTTPS Everywhere, Smart HTTPS, privacy tools with "always use HTTPS" options, or VPN browser extensions — can introduce an extra redirect that creates a loop when the server already handles the redirect. Disable them temporarily and reload.

Step 4: Fix WordPress site URL settings (site owners)

In WordPress, go to Settings → General and confirm that both WordPress Address (URL) and Site Address (URL) use the correct protocol (https://) and domain. If the database values are wrong after a migration, use WP-CLI: wp option update siteurl https://example.com and wp option update home https://example.com. Alternatively, add the correct values to wp-config.php with define('WP_HOME', ...) and define('WP_SITEURL', ...) which override the database.

Step 5: Fix Cloudflare SSL mode

In the Cloudflare dashboard, go to SSL/TLS → Overview and check the encryption mode. "Flexible" causes the loop described above when the origin server also redirects to HTTPS. Change it to "Full" (origin has a certificate, possibly self-signed) or "Full (Strict)" (origin has a valid certificate). This single change resolves the Cloudflare-origin redirect loop without any changes to the origin server.

Step 6: Audit .htaccess redirect rules

On Apache servers, conflicting RewriteRule directives in .htaccess are a frequent cause. Check for rules that redirect HTTP to HTTPS and also rules that redirect www to non-www or vice versa. Ensure the conditions are mutually exclusive and test with curl -v after each change.

Step 7: Flush DNS and try another browser

A cached DNS record pointing to an old server address can cause unexpected behavior if the old server had different redirect rules. Flush the DNS cache (on Windows: ipconfig /flushdns; on macOS: sudo dscacheutil -flushcache) and try loading the URL in a different browser to rule out browser-specific state.

Step 8: Contact the site owner

If clearing cookies does not fix it and the loop is visible in incognito, in curl, and in an online redirect checker, the problem is entirely server-side. The site owner needs to audit their redirect rules, CDN settings, and CMS configuration. There is nothing further a visitor can do.

Still Not Fixed? Rule Out Your Connection

If the steps above did not clear the error, verify the underlying internet connection is healthy. Run a speed test — if download, upload, and ping come back normal, the error is specific to one site or browser state. If the speed test also fails or shows packet loss, the problem is at the network or ISP layer.

Frequently Asked Questions

Does ERR_TOO_MANY_REDIRECTS mean I am being hacked?

No — it is a site configuration bug, not a security incident. Clearing cookies is safe and does not expose any personal data.

Why does it only happen on one site?

Because the redirect loop is specific to that site's server configuration, CDN settings, or a cookie that only that site set in your browser. Other sites are unaffected because they do not have the same misconfiguration.

Related Guides

More From This Section