TrueURL

Free redirect tool

Redirect Loop Checker

When a browser reports "too many redirects", the site is sending it in circles. TrueURL follows the redirects until the loop closes and shows every URL involved.

What is a redirect loop?

A redirect loop happens when URL A redirects to URL B, and B, directly or through other hops, redirects back to A. Browsers follow about 20 redirects and then give up with an error: ERR_TOO_MANY_REDIRECTS in Chrome and Edge, The page isn't redirecting properly in Firefox, or Too many redirects occurred in Safari. Search engines can't index a page that is stuck in a loop.

How TrueURL detects loops

TrueURL records every URL it requests, together with the request method and the cookies it holds at that moment. When a hop leads back to a URL it has already requested in the same state, the chain can never finish, and the result highlights the hop where the loop closes.

Because TrueURL keeps cookies like a browser, it can tell a real loop from a normal cookie handshake, where a site sets a cookie and sends you back to the same URL once. If the state changes on every pass, the chain continues until the Max Hops limit in Advanced Settings (at most 50). A chain that hits the limit is usually an endless loop too, for example one that adds a new query parameter on every hop.

Common causes of redirect loops

  • HTTP and HTTPS behind a proxy or CDN: the CDN connects to your server over HTTP (as with Cloudflare's Flexible SSL mode) while the server redirects every HTTP request to HTTPS. The browser asks for HTTPS again, the CDN fetches HTTP again, and so on. Use Full (strict) mode, or let only one layer handle the HTTPS redirect.
  • Conflicting www rules: one rule adds www while another, often in the CMS or the hosting panel, removes it.
  • Conflicting trailing slash rules: the server adds a slash and the application removes it.
  • CMS address settings: in WordPress, for example, a WordPress Address or Site Address that doesn't match the domain or scheme the site is actually served on.
  • Login, consent and region redirects: a page sends visitors without a certain cookie to a login, consent or country page, which sends them back, but the cookie is never set or never accepted.

How to fix a redirect loop

  1. Check the URL here and note which URLs repeat and which hop sends you back.
  2. Look at that hop's response headers, such as Server, Via, CF-Ray or X-Powered-By, to see which layer sent the redirect: the CDN, the web server or the application.
  3. Fix or disable that one rule, then check again. Change one layer at a time.
  4. Before testing in your browser, clear its cache and cookies for the site. Cached 301s and stale cookies can keep a loop alive after it has been fixed.

Guides

Frequently asked questions

What does ERR_TOO_MANY_REDIRECTS mean?

It's Chrome's error for a redirect chain that didn't end after 20 redirects, which is nearly always a loop: the site's redirect rules contradict each other. Check the URL above to see which URLs repeat.

Can a redirect loop affect only some visitors?

Yes. Loops that depend on cookies, language, location or device only hit visitors in that situation. Reproduce them with Advanced Settings: add the cookie, an Accept-Language header or a mobile User-Agent, and check again. Loops that depend on the visitor's location can't be reproduced, because the request always comes from Cloudflare's network.

Why does clearing cookies fix the loop in my browser?

Then the loop was cookie-based: a stale or conflicting cookie made the site send you in circles. Clearing cookies resets your state, but the bug is still there for every visitor who gets the same cookie. Use the Cookies field in Advanced Settings to reproduce it here.

Why does TrueURL find a loop when the page works in my browser?

Your browser may be logged in, have consent cookies, or have an HSTS entry or a cached redirect that skips one of the hops. TrueURL starts with no cookies and no history, like a first-time visitor or a crawler. If it finds a loop, new visitors and crawlers probably run into it too, unless the site treats requests from data centers differently.

What's the difference between a loop and hitting Max Hops?

A loop means TrueURL came back to a URL it had already requested in the same state, so the chain can never end. Max Hops means it stopped after the configured number of redirects without an exact repeat. That chain might end eventually, but a chain that long is a problem either way. You can raise Max Hops to 50 to see further.

Can a CDN cause a redirect loop?

Yes, it's one of the most common causes. If the CDN talks to your server over HTTP while the server forces HTTPS, or if the CDN and the server redirect between www and non-www in opposite directions, they bounce every request back and forth. The response headers on each hop show which layer answered.