Skip to main content
Toollyz

Search tools

Search for a command to run...

Redirect Chain Checker

Paste the multi-response output of `curl -IL` (or any concatenated HTTP response chain) and we parse every hop: status code, Location header (resolved against the previous hop for relative URLs), server, content-type, and Set-Cookie count. Each hop is audited for HTTPS → HTTP downgrade, infinite-loop redirects, 3xx without Location, and 301 / 302 / 307 / 308 semantics. 100% offline.

What is the Redirect Chain Checker?

Redirect Chain Checker is a paste-based parser for HTTP redirect chains. Run `curl -IL https://example.com` (or `wget -S --max-redirect=10`) and paste the output. We walk every HTTP status line, group its headers into a hop, and resolve Location headers against the previous URL (so relative Location: /new becomes the absolute https://host/new). Each hop is then audited for: missing Location on 3xx (a spec violation), HTTPS-to-HTTP downgrade (modern browsers warn loudly), redirect loops (the same URL appearing twice in the chain), and the specific semantics of 301 / 302 / 307 / 308 (permanent vs temporary, method-preserving vs not). The chain-level audit counts hops (>5 = SEO smell, >20 = browser cap), checks the final status, and surfaces Set-Cookie on redirects (which survive cross-redirect chains but can balloon).

How to use it

  1. Run `curl -IL https://example.com 2>/dev/null` and copy the output.
  2. Paste it into the textarea. Sample button loads a 3-hop example.
  3. Read the stats: hops, errors, warnings, final status.
  4. Each hop card shows status + Location + per-hop findings.

Benefits

  • Parses curl, wget, or any concatenated HTTP response chain.
  • Resolves relative Location headers against the previous absolute URL.
  • HTTPS → HTTP downgrade detector (a real-world security regression).
  • Loop detector — flags URLs that appear twice in the chain.
  • 3xx-without-Location detector (spec violation).
  • Per-hop semantics for 301 / 302 / 307 / 308.
  • Set-Cookie on 3xx surfaced.
  • Chain-level finding when hop count > 5 (Google's recommended max).
  • Runs 100% in your browser — we never follow redirects ourselves.

Frequently asked questions

Why doesn't this fetch the URL itself?

Same reason as the rest of our HTTP tools: the site is statically exported with no backend, and same-origin policy would block direct fetches anyway. The curl one-liner is fast.

What's the difference between 301 and 308?

Both are permanent. 301 lets the client switch from POST to GET on redirect (most clients do); 308 preserves the method strictly. Same for 302 vs 307 (temporary versions).

Why is HTTPS → HTTP downgrade so bad?

Modern browsers block mixed content. A 301 from https://a.com to http://b.com tells the browser to load an insecure resource — which it refuses, breaking the navigation. Always redirect to https://.

How many redirects is too many?

Google recommends ≤ 5 for SEO. Browsers cap at ~20 to prevent infinite loops. Anything between 3-5 is normal for marketing-tracker pipelines; > 5 starts to hurt page-load and ranking.

What about meta-refresh redirects?

We parse HTTP-level redirects only (3xx + Location). Meta-refresh and JS-based redirects don't appear in `curl -IL` output. Use the Website Source Viewer to inspect them.

Can I paste headers without the status line?

No — we need the `HTTP/2 301 …` line to detect a hop boundary. The status line is what separates one response from the next in `curl -IL` output.

Does it handle HTTP/3 status lines?

Yes — `HTTP/3 200 OK` is recognised. The protocol field is captured.

Why are Set-Cookie counts on redirects shown?

Cookies set during a redirect survive the chain. Tracking systems use this to plant cookies cross-domain. We show the count so you can see when a redirect is also a cookie-setting event.

Can I export the chain as JSON?

Not yet — copy the input to your editor for now. We may add JSON export later.

Are my pastes saved?

Yes — input persists in localStorage.

Is anything uploaded?

No. Parsing runs entirely in your browser.