Status codes

Bulk Status Code Checker

Paste up to 2,000 URLs to get each one's HTTP status code and every hop of its redirect chain.

What the checker reports

Each URL is requested with a normal GET, the same request a browser or crawler makes. Redirects are followed one hop at a time, up to ten, so you see the status of every URL in the chain, not just where it ends up.

Redirect loops, DNS failures, timeouts and TLS errors are reported as errors rather than silently dropped.

Status codes that matter for SEO

CodeMeaningWhat to do
200OKNothing, unless a missing page returns 200 instead of 404 (a "soft 404").
301 308Permanent redirectFine for moved pages. Update internal links and sitemaps to point at the destination.
302 307Temporary redirectUse a 301 if the move is permanent. Google may keep the old URL indexed.
404 410Not found / goneRedirect if there is a relevant replacement; otherwise leave it and remove internal links to it.
403 429Forbidden / rate limitedOften a firewall blocking automated requests. Try another "Request as" option.
5xxServer errorFix quickly. Persistent 5xx errors make Google crawl less and eventually drop pages.

Questions

Why do I get a different status code in my browser?

Some sites treat automated requests differently: firewalls return 403 to unknown clients, and some sites redirect by country or by device. Switch "Request as" between Chrome and Googlebot to compare. Requests come from Cloudflare's network, not your own IP address.

Does it use HEAD or GET requests?

GET. Many servers answer HEAD requests incorrectly, so a GET gives the true status. Only the headers are needed, so the body is discarded as soon as the status arrives.

How many URLs can I check?

Up to 2,000 per run. Larger lists are checked in batches, so a run of 2,000 URLs takes a few minutes. If you hit the rate limit, the tool waits and carries on by itself.

Are my URLs stored?

No. URLs are checked and the results are sent straight back to your browser. Nothing is saved on our side.