Skip to content
ScaledPapers

Free tools / Redirect checker

HTTP redirect, status code, and header checker

Follow a URL through up to 10 hops. See every status code, how long the hop took, and the response headers, including Location, Cache-Control, and Strict-Transport-Security.

URL

up to 10 hops

One check from a single location. No cookies are sent. A redirect loop stops at the first repeated URL.

Request method

HEAD matches curl -I. GET matches a browser navigation. Both follow Location.

curl

      

How the redirect checker works

The check runs from one location, with no cookies and no stored HTTPS-only policy. It requests the URL, reads the status line and the headers, and follows Location when the status is 301, 302, 303, 307, or 308. It records up to 10 hops. Each hop is timed separately. DNS time is separate from the time to receive the status line.

If a URL appears twice, the trace stops. That pair is the redirect loop. The later hops would be the same two rules again. The steps for that case are in Too many redirects.

A browser can loop when this page does not. curl and this checker send no cookies unless you add them. If the chain here ends on 200 and the browser still says too many redirects, the loop is in the browser, usually a cookie or a stored policy for that host.

HTTP status codes on a redirect chain

CodeNameWhat to do with it
301Moved PermanentlyCaches and search engines can treat the target as the canonical URL. Historical clients change POST to GET.
302FoundTemporary. Caches should keep the original URL. A permanent move, such as HTTP to HTTPS, is usually a 301 or a 308 instead.
303See OtherThe next request is a GET. Common after a form POST.
307Temporary RedirectTemporary, and the method and body stay the same.
308Permanent RedirectPermanent, and the method and body stay the same.
200OKThe chain ended on a normal response.
403ForbiddenThe host answered and refused this client. A 403 can still mean the site is up. See When 403 means up.
500–504Server errorThe chain reached the origin or the edge, and that hop failed.

Headers worth reading

A certificate or port failure stops before any of these headers. Walk that case in DNS works, the site does not.

Checking the chain continuously

This page is one request. A Website or API check repeats it. Follow redirects stays on by default, and the stored status is the last response. The 301 in the middle is not that status. Turn follow redirects off when you care about the hop itself: a Website check then treats a 301 as up, because the default is any status below 500. An API check expects 200 unless you list 301.

A loop never produces a last response. The probe errors, and there is no status code to add to the expected list. Leave the confirmation period at three failures so one loop is stored and does not open an incident by itself.

Frequently asked questions

How many redirects is too many?
One hop from http:// to https://, or from the bare domain to www, is normal. Three or more means two rules are both rewriting the URL. Browsers stop around 20. This checker stops at 10 hops and shows where it stopped.
What is the difference between a 301, a 302, a 307, and a 308?
301 and 308 are permanent. 302 and 307 are temporary. 307 and 308 keep the original method and body. 301 and 302 have a long history of turning POST into GET. Use 301 or 308 when the target is the URL you want indexed. Use 302 or 307 when the original URL should stay.
Why does the browser report a redirect loop when this checker shows 200?
The checker sends no cookies. If it ends on 200 and the browser still loops, the loop is in the stored state for that host. Clear the site's cookies and try a private window before changing the server rule.
How do I check redirects with curl?

curl -sI -L --max-redirs 10 --max-time 20 http://example.com/ prints the status line of each hop. -I sends HEAD. Drop -I and add -D - when you need the GET chain. The command on this page updates as you type.

Can I monitor a URL so a broken redirect alerts me?
Yes. Create a Website check for the final URL when you care about the page customers land on. Create one for the first URL with follow redirects off when you care that the 301 itself stays in place. ScaledPapers checks from five regions and alerts by email, Slack, Discord, PagerDuty, or webhook.

Catch a broken redirect before your users do

A trace shows the chain right now. ScaledPapers checks the endpoint every 60 seconds from five regions, follows or pins the redirect, and pages you when a deploy introduces a loop or a 5xx. Free for 5 checks.