ERR_TOO_MANY_REDIRECTS appears in Chrome when the browser detects a redirect loop: URL A redirects to URL B, which redirects back to URL A, and this cycle repeats until Chrome hits its redirect limit (typically 20 redirects) and stops. The most common causes are a circular redirect between HTTP and HTTPS, conflicting redirect rules in a server’s .htaccess file, a CDN or caching plugin creating a redirect loop, or corrupted browser cookies that trigger infinite redirect chains.
This error is almost always a server-side or cookie configuration problem. Chrome is responding correctly by refusing to follow an infinite loop. Your job is to identify whether the loop is caused by your browser’s cached state (cookies, cache) or by the website’s configuration itself. The diagnostic test is simple: if the page loads in incognito, the problem is your browser state. If incognito also fails, the server configuration is broken.
What Causes ERR_TOO_MANY_REDIRECTS
The most common cause is an HTTP to HTTPS redirect misconfiguration. A web server is configured to force all HTTP traffic to HTTPS, but another layer (a CDN, a load balancer, or a plugin) simultaneously forces HTTPS back to HTTP. The result is an infinite loop between the two protocols. This happens frequently on WordPress sites when the WordPress Address URL and Site URL settings use different protocols, or when a Cloudflare SSL setting conflicts with an .htaccess redirect rule.
Corrupted session cookies are the second major cause visible to end users. A cookie tied to a specific URL can instruct the server to redirect to a different URL, which sets another cookie, which triggers another redirect. Once this cookie loop is established, clearing it is the only fix on the user side. Even if the server configuration is correct, a bad cookie from a previous session keeps sending you in circles.
CDN caching adds a third dimension. Cloudflare’s Flexible SSL mode, for example, connects to the origin server over HTTP while presenting HTTPS to the visitor. If the origin server also forces HTTP to HTTPS, Cloudflare sees an HTTP response and issues another HTTPS redirect, creating a loop. The Cloudflare SSL mode must match the origin server’s configuration exactly.
Clear Cookies for the Affected Site
Click the lock or information icon in Chrome’s address bar while on the affected URL. Select Cookies and site data, then click Manage cookies and site data. Delete all cookies associated with the domain. Alternatively, press Ctrl+Shift+Delete, select All time, check Cookies and other site data, and click Clear data. Restart Chrome and revisit the URL.
If clearing cookies resolves ERR_TOO_MANY_REDIRECTS, a corrupted or conflicting cookie was maintaining the redirect loop. The website itself may have a configuration issue that periodically generates bad cookies. If the error returns after a few visits, the site’s server-side configuration needs fixing by the site administrator.
Clear Cookies in Edge and Firefox
In Microsoft Edge, go to Settings, Cookies and site permissions, Manage and delete cookies and site data, then search for the domain and delete its cookies. In Firefox, go to Settings, Privacy and Security, Cookies and Site Data, then Manage Data and remove the site’s entries. If the site works after clearing cookies in one browser but not another, the bad cookie is browser-specific.
Test in Incognito Mode
Press Ctrl+Shift+N to open an incognito window. Incognito mode starts with no cookies, no cached data, and no extensions. If the page loads correctly in incognito, the problem is definitively browser-state related: a bad cookie or a corrupted cache entry in your regular profile. If it also fails in incognito, the redirect loop is in the server’s configuration and affects all visitors.
Share this diagnostic result with the site’s administrator if you are not the site owner. Telling them “the site loads in incognito but not in a regular browser window” confirms the issue is session-state related, which points directly to cookie handling on their side.
Check HTTP vs HTTPS Configuration
If you manage the website, this is the area most likely to need fixing. The most common redirect loop pattern on WordPress: the Site URL is set to http:// in WordPress settings (Settings, General), but an .htaccess rule forces all HTTP to HTTPS. WordPress then generates HTTP links, the .htaccess redirects them to HTTPS, WordPress processes the HTTPS request and generates more HTTP links, and the loop continues.
Fix this by ensuring both WordPress Address (URL) and Site URL in Settings, General use https://. Then check your .htaccess file for conflicting RewriteRules. On Cloudflare, if you use Flexible SSL, switch to Full or Full (Strict) mode to ensure Cloudflare connects to your origin over HTTPS, which eliminates the protocol mismatch that triggers loops.
Disable Browser Extensions
Extensions that modify HTTP responses, redirect URLs, or enforce HTTPS can create loops when they conflict with a site’s own redirect rules. Extensions like HTTPS Everywhere (now deprecated but still installed on older browsers), Privacy Badger, or redirect management tools are common culprits. Go to chrome://extensions/ and disable all extensions. Reload the page. If it works, re-enable extensions one at a time to find the conflict.
Clear Server-Side Caches
If you own the website, cached redirect responses persist even after you fix the underlying configuration. Clear all caching layers: your CDN cache (Cloudflare dashboard, Caching, Purge Everything), your WordPress caching plugin (WP Super Cache, W3 Total Cache, LiteSpeed Cache all have a Purge All option), and any server-level caching (Varnish, NGINX FastCGI cache). A redirect response cached by any of these layers will keep sending visitors in circles until the cache expires or is manually cleared.
Cloudflare’s cache respects redirects if they were cached before the fix. After correcting your redirect configuration, always purge the Cloudflare cache from your Cloudflare dashboard to ensure visitors receive the corrected response immediately.
Advanced Fix: Check .htaccess and Server Config
If you have server access, review your .htaccess file for conflicting RewriteRule or Redirect directives. A common pattern that creates loops: one rule redirects everything from www to non-www, and another rule redirects non-www back to www. Open your .htaccess file via SSH or FTP and look for multiple RewriteRule blocks. Consolidate them into a single rule that handles protocol and www simultaneously.
For Nginx servers, check your server block for conflicting return 301 directives. Nginx processes rules in order, so two conflicting return statements can create a loop if the conditions overlap.
Frequently Asked Questions
Why does ERR_TOO_MANY_REDIRECTS only affect one website?
Site-specific redirect loops are caused by that website’s server configuration or a bad cookie for that specific domain. Your browser and internet connection are fine. The loop exists between the server’s redirect rules and your browser’s cookie state. Clearing cookies for that domain resolves user-side cases. If it persists, the server configuration itself has a circular redirect that affects all visitors.
Can ERR_TOO_MANY_REDIRECTS appear after an SSL certificate change?
Yes. When an SSL certificate is renewed or a site migrates from HTTP to HTTPS, existing server-side redirect rules sometimes conflict with the new SSL configuration. If a site was previously HTTP and .htaccess still has old redirect rules pointing back to HTTP, the new HTTPS setup creates a loop. The fix is to update all redirect rules to point to the canonical HTTPS version and clear the Cloudflare or CDN cache.
What is the redirect limit in Chrome?
Chrome follows a maximum of 20 redirects per request before displaying ERR_TOO_MANY_REDIRECTS. This limit prevents infinite loops from consuming bandwidth and hanging the browser. Firefox uses a similar threshold of 20 redirects. If a legitimate site requires more than 20 redirects to deliver its content, the site’s architecture needs redesigning to reduce the redirect chain.
How do I fix ERR_TOO_MANY_REDIRECTS on my WordPress site?
Set both WordPress Address URL and Site Address URL in Settings, General to the same https:// address. Check your .htaccess for conflicting RewriteRule directives. If you use Cloudflare, set SSL mode to Full or Full Strict, not Flexible. Clear all caching plugin caches and purge your CDN cache after making changes. Test in an incognito window to confirm the loop is resolved.
If your site also has connection timeout issues, the ERR_TIMED_OUT fix guide covers those scenarios. For SSL-specific certificate errors rather than redirect loops, see the article on ERR_SSL_VERSION_OR_CIPHER_MISMATCH. For rate limiting errors that resemble redirect issues, the 429 Too Many Requests guide explains the differences.








