RevealTheme logo

Redirect Chain Tracer

Enter a URL and see every hop in its redirect chain, with the HTTP status code at each step. The tracer follows up to 10 redirects so you can spot needless hops and broken final destinations.

How to use this tool

  1. 1

    Paste or type a URL into the input box (if you omit the scheme, https:// is added automatically).

  2. 2

    Click Analyze to send the URL to the tracer.

  3. 3

    Read the chain: each numbered row shows the URL it requested and the status code it got back.

  4. 4

    Check the final row — a 2xx means the chain resolves; a long chain or an error row flags a problem to fix.

How does redirect tracing work?

An HTTP redirect is a 3xx response (commonly 301 permanent, 302/307 temporary, 308 permanent) that carries a Location header pointing to another URL. Browsers follow these silently, so a link that looks like one request can secretly be three or four. This tracer makes each hop visible: it sends a HEAD request to the URL with automatic redirect-following turned off, records the status code, then reads the Location header and repeats. Relative Location values are resolved against the current URL, exactly as a browser would. It follows at most 10 hops and then stops, which also caps any accidental loop rather than hanging. Why it matters: every extra hop adds a full round trip of latency before content loads, and search crawlers spend budget chasing them. A chain like http to https to www to a trailing-slash variant is common after a migration and worth collapsing into one rule. Note the tracer uses HEAD, so servers that reject HEAD may return a different status than a real GET, and it reports raw hops without separately labeling a loop.

Common use cases

  • Auditing a site migration to confirm old URLs land on the right new pages in a single 301 hop.

  • Unmasking where a shortened link (bit.ly, t.co, marketing UTM wrappers) actually sends visitors before you click it.

  • Collapsing a multi-hop chain such as http to https to www into one redirect rule to cut page-load latency.

  • Debugging an affiliate or ad link that bounces through several tracking domains before the landing page.

  • Verifying that a 308 or 301 was returned (not a 302) when you need a permanent, cacheable redirect for SEO.

  • Diagnosing a 'too many redirects' browser error by seeing exactly where the chain stops resolving.

Frequently asked questions

Does this tool run in my browser or on a server?
It runs on our server, not in your browser. Your typed URL is sent to our API, which makes the HTTP requests and returns the chain. The target site sees our server's request, not your IP.
How many redirects does it follow?
Up to 10 hops. After the tenth it stops and returns what it has, so an endless loop is cut off rather than left to hang. It does not separately label a loop as such — you spot one by seeing the same URLs repeat.
Why does it use a HEAD request instead of GET?
HEAD asks only for the response headers (including the Location), so it is faster and downloads no page body. The trade-off: some servers handle HEAD differently and may return a status that does not exactly match a real browser GET.
Can I enter a URL without https://?
Yes. If your input does not start with http, the tracer prepends https:// before tracing. To check an http chain specifically, type the full http:// URL.
Why did I get an 'Invalid host' error?
For security the tracer refuses private, loopback, link-local and cloud-metadata addresses (localhost, 127.x, 10.x, 192.168.x, 169.254.169.254, single-label hostnames, and similar). This prevents the tool from being used to probe internal networks.
What do the status codes mean?
300-399 are redirects the tool follows; 200-299 means the final page resolved successfully; 404 means the destination is missing; 403/401 means access is blocked. The last row is the real endpoint of the chain.
Does it execute JavaScript or meta-refresh redirects?
No. It only follows server-side HTTP redirects via the Location header. Client-side redirects done with JavaScript or an HTML <meta http-equiv='refresh'> tag will not appear in the chain.

Related tools