Redirect checker
Paste a URL and see every hop it takes: 301, 302, 307, 308, meta refresh and Refresh headers, with timing, loops and the final page's canonical. Checked from our server, never from your browser.
What this checker reads at each hop
Every request is a plain GET sent from our server with no cookies, exactly like a first visit. For each response we record:
- The status code and
Locationheader. A relative Location such as/newis resolved against the URL that sent it, as RFC 9110 section 10.2.2 requires, so you see the absolute next URL. - Refresh redirects that are not 3xx. A
Refresh: 0; url=…response header or a<meta http-equiv="refresh">tag is followed and labelled, with its delay, because Google treats an instant one as permanent and a delayed one as temporary. - JavaScript redirects on the final page (
location.href = …,location.replace(…)) are reported but not executed; they only fire after Google renders the page. - Time to the response headers, the server IP, the
Serverheader and the full header set, so you can spot a CDN rule versus an application redirect. - The destination page's canonical, meta robots, X-Robots-Tag and hreflang count, because a redirect that lands on a page canonicalised elsewhere or marked noindex still loses the ranking you were trying to pass on.
The trace stops at 10 redirects. That is also where Googlebot stops following and reports a redirect error in Search Console.
Why a chain costs more than one redirect
Each hop is a full request the browser must finish before it can even ask for the next URL. Hops that change host or switch from http to https also need a new connection. Drag the sliders to see how quickly that adds up.
~30 ms on fibre near the server, 150 ms+ on mobile across an ocean.
+1,080 ms
before the first byte of the real page, from redirects alone.
Collapse this to one hop and you save about 600 ms per visit, and Google has fewer steps to follow.
How this is estimated
A redirect to the same host reuses the open connection, so it costs about one round trip (request out, 3xx back). A redirect to a new host or from http to https needs a fresh DNS lookup, a TCP handshake and a TLS handshake first: roughly three extra round trips with TLS 1.3 and a cold DNS cache. Real numbers vary with CDN, caching and HTTP/3, but the shape holds: every hop is paid in full before the browser can even start on the page.
Reading the plates
Orange: permanent (301, 308). Search engines move the ranking signals to the target and show the new URL.
Yellow: temporary (302, 303, 307). Google keeps indexing the original URL unless the redirect stays in place for a long time.
Green: arrived. The final URL answered with content.
Red: dead end or error, including DNS failures, TLS errors, timeouts and loops.
Common jobs for a redirect check
Site migrations
After a domain move or URL restructure, check a sample of old URLs from your analytics and backlink reports. Each should reach its new equivalent in one 301 or 308 hop, not bounce through the homepage. For a whole list, use the bulk redirect checker.
HTTP to HTTPS and www consistency
Four entry points (http://, https://, with and without www) should all end at the same canonical URL. The HTTPS redirect checker tests all four at once.
Browser says "redirected you too many times"
Trace the URL here: a loop shows up as a red roundabout plate pointing to the URL it came from. The ERR_TOO_MANY_REDIRECTS guide lists the usual causes by platform.
Where does this link go?
Shortened and tracking links hide their destination. Tracing them here reveals the final URL without loading it in your own browser; the URL unshortener is tuned for that job.
Questions
How do I check where a URL redirects?
Paste the URL into the checker and press Trace redirects. Each hop is listed with its status code, the next URL, response time and headers until the chain ends at a non-redirect response, errors, loops or reaches 10 hops.
Is a 301 or a 302 better for SEO?
Use a 301 (or 308) when the move is permanent: Google treats it as a strong signal that the target should replace the old URL in results. Use 302 (or 307) only for genuinely temporary moves, such as a short promotion or maintenance page. Google says both pass PageRank, but a long-lived 302 is ambiguous.
How many redirects is too many?
Googlebot follows up to 10 hops and then treats the URL as a redirect error. For speed and crawl efficiency, aim for a single hop from any old URL to its final destination; two is acceptable, three or more is worth fixing.
Does it detect meta refresh and JavaScript redirects?
Yes for meta refresh and the Refresh response header, which are followed and labelled with their delay. JavaScript redirects are detected in the final page source and reported, but not executed.
Why does the result differ from what my browser shows?
Your browser may have cached an old 301, carry cookies or a logged-in session, or apply HSTS and upgrade http to https before any request is sent. Our check is a clean first visit with no cookies or cache. You can also switch the user agent to Googlebot or a phone to spot device- or bot-specific rules.
Can I check URLs on my local network?
No. For security, private, loopback, link-local and cloud-metadata addresses are refused at every hop, including when a public URL redirects to one. Only http and https on ports 80, 443, 8080 and 8443 are checked.
Sources
HTTP semantics: RFC 9110, section 15.4 (Redirection 3xx). Search behaviour: Google Search Central, "Redirects and Google Search" and "How HTTP status codes affect Google's crawlers".