Skip to content

Redirect Checker

Trace the full HTTP redirect chain for a URL, hop by hop.

Follows every redirect hop (301/302/303/307/308) to the final destination. Browsers cannot fetch an arbitrary cross-origin URL and inspect its raw response headers, so this is sent to our server to run the check — see the FAQ below.

Enter a URL to trace its redirect chain.

About the Redirect Checker

Trace the full HTTP redirect chain for a URL, one hop at a time, down to its final destination. Useful for debugging a redirect loop, confirming an SEO 301 lands where intended, or seeing how many hops a shortened link actually takes before it resolves.

How to use it

  1. 1 Enter a URL — a bare domain like example.com/old-page works, https:// is added automatically.
  2. 2 Click Check.
  3. 3 Each hop shows its status code and URL, in order, down to the final destination.
  4. 4 A warning banner appears if the chain does not terminate — almost always a redirect loop.

What it does

  • Follows every 301, 302, 303, 307, and 308 hop individually — never auto-follows silently
  • Stops and reports a loop after 15 hops instead of hanging
  • Status code shown at every hop, not just the final one
  • Blocks requests to localhost and private/reserved IP addresses

Frequently asked questions

Is my lookup sent anywhere?

Partly. Browsers have no API for this, so the value you enter is sent to our server, which queries the URL you enter, to trace its redirects on your behalf and returns the result — nothing is logged or stored beyond that single request. Avoid looking up anything you would not want to leave your browser at all.

Why can't this run entirely in my browser?

A browser page cannot fetch an arbitrary cross-origin URL and inspect its raw status code and Location header — the CORS same-origin policy exists specifically to prevent a page from probing other sites on a visitor's behalf. A server has no such restriction, which is why this needs one.

What is the difference between a 301 and a 302?

301 (Moved Permanently) tells search engines and caches to update their records to the new URL; 302 (Found) is explicitly temporary and should not transfer SEO ranking to the destination. 307 and 308 are their modern equivalents that additionally guarantee the request method (GET, POST, etc.) is preserved across the redirect.

Why did my check fail with "private or reserved IP addresses are not allowed"?

This tool blocks requests aimed at localhost, 127.0.0.1, and private ranges like 192.168.x.x or 169.254.169.254 — the last one is a well-known cloud-metadata address, and refusing to fetch it protects the server this tool runs on. It cannot check URLs on your local network for the same reason a public website cannot either.