Free tool

Free redirect checker

Enter a URL. See every hop: the status code, the Location header, and how long it took. No signup. Also see the robots.txt tester and the sitemap checker.

Public http and https hostnames only. Nothing you paste is stored.

How the checker follows a URL

Paste a full URL, such as http://example.com/old, or a bare domain. A bare domain is requested as https. The checker asks for that address and does not let the HTTP client follow redirects on its own. When the response is 301, 302, 303, 307, or 308, it reads the Location header and requests that next URL. It stops after 10 hops. Each hop has a 4 second limit.

The chain lists every URL, its status code, the Location header, and the time for that hop. If a response is not an HTTP redirect, the checker looks in the HTML head for a meta refresh, and it honors a Refresh header. An instant meta refresh (0 seconds) and a delayed one are both shown when they are easy to read.

It flags a loop, a chain with more than one redirect, a 302 or 307 on an http-to-https or www change, every http-to-https hop, every www hop, a final status other than 200, and a final page whose canonical link is a different URL. Private hosts, localhost, IP addresses, and link-local or metadata addresses are refused. That check runs again on every hop, including after DNS. The URL is not stored.

When to use 301, 302, 307, and 308

Checked October 2026 against Google Search Central's redirects documentation and MDN's HTTP redirections guide.

Google Search uses the redirect type as a signal for which URL should be canonical. A permanent redirect means search results should show the new target. A temporary redirect means search results should show the source page. Googlebot follows both. Google says to use a permanent redirect when you are sure it will not be reverted, and lists HTTP 301 and HTTP 308 as the permanent server-side codes. Both mean the page has permanently moved. Use a temporary redirect when people should land somewhere else only for a while, for example while a service is unavailable, so Google is not pushed to replace the old URL. Google lists HTTP 302, HTTP 303, and HTTP 307 as temporary.

MDN separates the same codes by what happens to the request method. For 301 and 302, GET stays GET, and other methods may be changed to GET by some clients. MDN notes the specification did not intend that change. 308 keeps the method and body. It is the permanent status for a reorganization when the request is not a simple GET. 307 keeps the method and body. It is the temporary status in that same case, and MDN describes it as the better temporary code when the site accepts non-GET requests. 303 changes other methods to GET and drops the body. MDN describes 303 as the redirect after a PUT or a POST, so a refresh does not run the action again.

Google treats an instant meta refresh (0 seconds) as a permanent redirect, and a meta refresh that waits longer than 0 seconds as a temporary one. MDN says an HTTP redirect is the better option when the server can send one, because a meta refresh only works on HTML. MDN also notes that every redirect costs an extra request, so chains should stay short, and that a redirect loop never reaches a page.

Questions

What does this redirect checker show?

It requests the URL without letting the HTTP client follow redirects, then requests each next address itself, up to 10 hops. Every hop shows the URL, the status code, the Location header, and how long that hop took. A meta refresh in the page head is listed when one is present. The result stays in your browser. The URL is not stored.

When should I use a 301 instead of a 302?

Use a 301 or a 308 when you are sure the redirect will not be reverted. Google says a permanent redirect is a signal that the target should be canonical, and that search results should show the new URL. Use a 302 or a 307 when the move is temporary. Googlebot still follows those, but Google does not use them as a signal that the target should be canonical, so the source URL can stay the one shown in Search. A temporary redirect fits a page that is only unavailable for a while. Checked October 2026 against Google Search Central: https://developers.google.com/search/docs/crawling-indexing/301-redirects

How are 307 and 308 different from 302 and 301?

MDN groups 301 and 308 as permanent, and 302, 303, and 307 as temporary. For 301 and 302, GET stays GET, and other methods may be changed to GET by some clients. MDN notes the specification did not intend that change. 308 keeps the method and body, which is the permanent status when the request is not a simple GET. 307 keeps the method and body for a temporary move. 303 changes other methods to GET and drops the body, so a refresh after a POST or PUT does not repeat the action. Checked October 2026 against MDN: https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections

Why flag a chain longer than one hop?

Each redirect is another request before the page loads. MDN says performance is hit on every redirect, so the number of redirects should stay small, and that a redirect loop never finishes. This checker flags more than one redirect, and it flags a loop. One permanent hop is the usual pattern for http to https, or for www to non-www. Checked October 2026 against MDN: https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections

Will it request any URL I paste?

No. Only public http and https hostnames are requested. IP addresses, localhost, and names that resolve to private, link-local, or metadata addresses are refused. Each redirect hop is checked again before it is requested. Nothing you paste is stored.

Launching soon? List it on Sidehunt

Once the URL you want people to land on is the one this chain ends on, put the product in front of people who try new tools every week. Free, nofollow, and premium launches are listed on pricing.

AI-friendly Markdown · structured for AI citations