Redirect Chain Checker, See Every Hop
See every hop in a redirect chain and how many redirects a URL passes through before its final destination.
Enter a URL above to trace its full redirect chain, hop by hop.
Fetched through a small server-side proxy, since browsers can't read cross-origin redirect headers directly. Nothing is stored.
How it works
- 1
Enter a URL
Paste the full URL you want to trace, including https://.
- 2
Click Check Redirects
The tool follows the chain hop by hop, showing each URL, its status code, and where it redirects to next.
- 3
Review each hop's status code
301 and 308 indicate permanent redirects, 302 and 307 indicate temporary ones, each explained plainly next to its badge.
- 4
Check for cross-domain or looping hops
A hop that crosses to a different domain is flagged distinctly, and a redirect loop is detected and stopped immediately.
- 5
Fix chains longer than one hop
Update the original link or redirect rule to point directly at the final destination shown at the end of the chain.
About the Redirect Chain Checker, See Every Hop
A URL that redirects through several hops before reaching its actual destination is invisible in a normal browser, since browsers silently follow every redirect automatically and only show you the final page. That invisibility is exactly the problem: a chain of three or four redirects behaves fine most of the time, but wastes crawl budget, adds real latency, and can dilute the link value passed between pages, all without any obvious symptom until it starts affecting indexing or page speed. This tool traces a URL's full redirect chain and shows every individual hop, its status code, and where it leads next, making the invisible chain fully visible.
Why a browser can't show you this directly
When a browser's own fetch or navigation encounters a redirect, it follows it automatically and by default gives JavaScript running on the page no visibility into the individual hops, only the final result, a deliberate browser security behavior, not a bug. Seeing each hop separately requires making the request with redirect following turned off at each step, reading the response's status code and Location header manually, then repeating that for the next URL in the chain. This tool does exactly that through a small server-side proxy, since a browser tab also can't read response headers from a different domain directly due to cross origin restrictions, stepping through the chain one hop at a time and reporting each one individually.
301, 302, 307, and 308, and why the type matters
Not every redirect status code means the same thing. A 301 signals a permanent move, telling search engines to transfer ranking signals to the new URL and update their index accordingly. A 302 signals a temporary redirect, historically interpreted more cautiously by search engines, ranking value is generally not fully transferred the way it is with a 301, since the implication is that the original URL will return. 307 and 308 are the HTTP/1.1-era equivalents of 302 and 301 respectively, with one meaningful technical difference, they guarantee the request method, GET, POST, and so on, is preserved across the redirect, which the older 301 and 302 codes technically leave ambiguous. This tool labels each hop with its exact status code and a plain-language explanation of what that specific code means.
Why chains accumulate without anyone noticing
Redirect chains rarely get built deliberately, they accumulate gradually. A URL gets redirected once during an early site migration, then redirected again during a later redesign, then once more when a URL structure changes, each redirect individually reasonable at the time it was added, but nobody goes back and updates the original redirect to point straight at the current final destination. The result is a URL that might redirect three or four times before landing anywhere, invisible to a normal site visitor since their browser follows the whole thing instantly, but a real, measurable cost for search engine crawlers working through a limited crawl budget, and a small but real latency cost for every real visitor too.
Cross-domain hops and redirect loops
Each hop is also checked against the domain the chain started on, a hop that crosses to a different domain is flagged distinctly, useful for confirming an intentional domain migration is working correctly, or catching an unexpected cross-domain redirect that shouldn't be there. If a chain ever loops back to a URL it already visited earlier in the same chain, an infinite redirect loop, that would otherwise never resolve, this tool detects the repeated URL immediately and stops, flagging exactly where the loop occurs rather than hanging indefinitely.
Runs through a small server-side proxy, nothing is stored
Since reading redirect headers across domains isn't possible directly from a browser tab, each hop is fetched through a small server-side proxy specifically built for this, which reads the response and hands the status and headers back to your browser without following the redirect itself, that decision stays entirely in this tool's logic. Nothing about the URLs you check is logged or stored beyond the request needed to complete the check. Once you've found a redirect chain worth fixing, our .htaccess Redirect Rule Generator can help build a corrected single-hop rule, part of the same Technical SEO Tools collection this tool belongs to.
Frequently asked questions
How many redirect hops is too many?
There is no strict cutoff, but each additional hop adds latency and complexity. A single redirect straight to the final destination is generally the cleanest approach where possible.
Does this catch redirect loops?
Yes, a redirect loop, where a chain returns to a URL already visited, is detected immediately and flagged rather than causing an endless check.
Why can't a browser show me this chain directly?
Browsers automatically follow redirects and don't expose the individual hops to JavaScript running on a page, by design. Seeing each hop requires fetching with redirect following disabled at each step, which this tool does through a server-side proxy.
What is the difference between a 301 and a 302 redirect?
301 signals a permanent move and generally transfers ranking signals fully to the new URL. 302 signals a temporary redirect, historically treated more cautiously by search engines since the original URL is expected to return.
What do 307 and 308 mean specifically?
They are the HTTP/1.1 equivalents of 302 and 301, with one key difference: they explicitly guarantee the request method is preserved across the redirect, which older 301 and 302 codes leave technically ambiguous.
Why is a cross-domain hop flagged specially?
It's a useful signal either way, confirming an intentional domain migration redirect is working, or catching an unexpected redirect to a different domain that shouldn't be happening.
Is my checked URL logged or stored anywhere?
No, the URL is only used to complete the redirect trace through the proxy, nothing about the check is logged or stored afterward.
Why does the tool stop after 20 hops even if it hasn't found a final destination?
A chain that long almost certainly indicates a misconfiguration rather than a legitimate multi-step redirect, so the check stops there and flags it as unusually long rather than continuing indefinitely.