Free tool ยท No sign-up

HTTP Status Code Checker

Paste a list of URLs and see the status each one returns: 200, 301, 404, 500 and more. Spot redirects, broken pages, blocked URLs and soft 404s, export the results, and look up what any status code means for SEO.

  • Up to 100 URLs at once
  • Redirects, errors and soft 404s
  • Status code reference built in

Need to see every hop of one URL? Use the Redirect Checker, or crawl a page's links with the Broken Link Checker.

What it shows

A clear answer for every URL in your list

Each URL is requested once, its redirects are followed, and the result is judged for SEO.

First and final status

The code the URL itself returns, the code where it ends up after redirects, and how many hops it took.

Problems in plain words

Temporary redirects, long chains, redirects to error pages, noindex pages and soft 404s, each with a fix.

Request as a crawler

Test as Chrome, Googlebot or Bingbot to see sites that treat bots differently.

Filter and sort

Show only errors, redirects or warnings, and sort by status code or response time.

Export

Download every result as a CSV or copy just the failing URLs for a ticket.

Built-in reference

Look up any status code to see what it means, how search engines treat it and what to do.

The codes that matter

The HTTP status codes you will see most

These cover almost every result in an SEO audit. The reference tab lists the rest.

Common HTTP status codes and their SEO effect
CodeNameWhat it means for SEO
200OKThe healthy response. The page can be crawled and indexed.
301Moved PermanentlyPasses ranking signals to the new URL. Use for permanent moves.
302Found (temporary)Old URL usually stays indexed. Use only for short detours.
304Not ModifiedThe cached copy is current. Good for crawl budget.
404Not FoundPage drops out of the index over time. A few are normal.
410GoneRemoved on purpose. Drops out a little faster than a 404.
429Too Many RequestsCrawlers slow down. Repeated 429s lower the crawl rate.
500Internal Server ErrorPage isn't indexed. Frequent 500s cut the crawl rate.
503Service UnavailableRight for short maintenance with Retry-After. Long outages drop pages.
How to use it

How to bulk check status codes

Three steps from a list to an action plan.

1

Add your URLs

Paste a list or upload a CSV from your crawler, sitemap or analytics. Up to 100 per run.

2

Run the check

Choose how to request them and run it. Results appear as they are checked.

3

Filter and fix

Filter to errors, open the details of any row for the fix, then export the list.

Best practices

How to handle status codes for SEO

A few rules cover most situations.

Real pages return 200

Every page you want indexed should return 200 directly, with no redirect in front of it.

Moved means 301

Redirect permanently moved pages with a single 301 to the closest replacement.

Gone means 404 or 410

Let removed pages return 404 or 410 rather than redirecting everything to the home page.

Avoid soft 404s

A missing page must return a real 404, not a 200 with a 'not found' message.

Fix 5xx fast

Server errors cut crawling quickly. Fix them first, and use 503 with Retry-After for maintenance.

Check after changes

Run a status check after every migration, redesign and URL change.

Status codes

What an HTTP status code checker tells you about a URL

Every response from a web server starts with a three-digit status code. The first digit is the class: 2xx means success, 3xx means the client should look elsewhere, 4xx means the request could not be fulfilled and 5xx means the server failed. The codes are defined in RFC 9110, and search engines read them before they read anything on the page.

That is why the code matters for SEO. Google's documentation on HTTP status codes says content from a 4xx response is ignored and that URLs already indexed are removed. 5xx and 429 responses make Googlebot slow down, and URLs that keep failing are eventually dropped. A 2xx page that looks like an error can be reported as a soft 404.

A browser hides all of this. It shows you a page, a friendly error or a redirect target, and none of those tell you what the server really sent. A status code checker requests each address and reports the first code, the final code and the number of hops, so you can sort a long list into healthy pages, moved pages and problems. This tool checks a list. When you need to see every hop of one URL, use the redirect checker instead.

When to use it

When to check status codes in bulk

Use it when you have a list of URLs and need to know which ones answer correctly.

Triaging a crawler export

A crawl or analytics export lists thousands of URLs. Run the important ones to separate real failures from pages that simply redirect.

Checking sitemap URLs

A sitemap should list URLs that return 200. Paste a sample to find entries that redirect or fail, and remove them from the file.

After a site change

After a redesign, plugin update or URL change, test key pages for unexpected 404, 500 or 302 responses before search engines find them.

Hunting soft 404s

Find pages that return 200 but have an error-style title, such as an empty search page or a deleted product that still loads.

Spotting blocked requests

A URL that gives 403 or 429 to the tool but loads in your browser is likely behind bot protection, which a real crawler may also meet.

During downtime or maintenance

Confirm that planned maintenance returns 503 rather than 200 or 500, so crawlers treat the outage as temporary.

Common mistakes

Status code mistakes and how to fix them

The page may look fine in a browser while the status code says something else.

A missing page that returns 200

What goes wrong: A custom "page not found" screen served with a 200 status is a soft 404. Google can report it that way, and it may keep spending crawl time on it.

The fix: Make the server send a real 404 (or 410 for a deliberate removal) along with your helpful error page. In single-page apps, make the error view return 404 or add a noindex tag.

Using 302 where 301 is meant

What goes wrong: A temporary redirect is a weak signal that the target should replace the old URL, so a permanent move can leave the old address in results.

The fix: Use 301 or 308 for permanent moves and keep 302 or 307 for real short detours. Replace temporary redirects found by the checker.

Redirecting every dead URL

What goes wrong: Sending removed pages to the home page makes errors disappear from a report but does not give visitors or crawlers what they wanted.

The fix: Redirect only when a close replacement exists. Otherwise let the page return 404 or 410, as Google's own Page indexing help advises for removed pages.

Ignoring 5xx errors

What goes wrong: A 500 or 502 can look like a one-off, but repeated server errors make Google reduce its crawl rate and eventually drop URLs that keep failing.

The fix: Check server logs and host status in Search Console, fix the cause, and watch that the share of non-200 responses falls back to normal.

Using 401 or 403 to slow crawlers

What goes wrong: Google says not to use 401 and 403 to limit crawl rate, since it treats them like other 4xx errors, as content that does not exist.

The fix: If a server is overloaded, return 503 or 429 for a short time, and fix capacity. Do not hide pages from crawlers with login or forbidden responses.

Believing a 200 means indexed

What goes wrong: A healthy status only means the page can be fetched. Google says a 2xx status does not guarantee that a page will be indexed.

The fix: Treat 200 as the first check. Then confirm indexability: no noindex, a sensible canonical, real content and a link or sitemap entry that leads to the page.

Glossary

HTTP status code terms explained

Status code
A three-digit number in an HTTP response that says how the request went. The first digit gives the class, and the rest give the specific result.
200 OK
The request worked and the page is in the response. It is the normal result for a page you want crawled and indexed.
301 and 302
Redirects. 301 is permanent and 302 is temporary. Google treats the first as a strong signal and the second as a weaker one.
404 Not Found
The server has no page at this address, and it is not saying whether the page will return. A removed page with no replacement should return it.
410 Gone
A page was removed on purpose and is likely not coming back. Google's documentation handles it like any other 4xx error, as content that does not exist.
429 Too Many Requests
The client is sending requests too quickly. Google treats this response as a sign of an overloaded server and slows its crawling.
503 Service Unavailable
The server cannot answer right now, such as during maintenance. It should be temporary, and a Retry-After header can say when to try again.
Soft 404
A page that looks like an error to a person or to Google but returns a success status instead of a 404.
Madhav Kushwaha, SEO, AEO, GEO and digital marketing consultant in Kathmandu, Nepal

Built by

Madhav Kushwaha

SEO, AEO, GEO & Digital Marketing Consultant in Kathmandu, Nepal, and trainer at ODcrU Academy and TechAxis Institute. Status codes are the first thing I check in any audit, and bulk lists are where the surprises are: old URLs that now 404, redirects that end on errors, pages that return 200 but say not found. This checker puts all of that into one table and explains each code as you click it.

HTTP Status Code Checker: Frequently Asked Questions

An HTTP status code is a three-digit number a server sends with every response to say how the request went. 2xx means success, 3xx means redirect, 4xx means the request couldn't be fulfilled and 5xx means a server error. Search engines use them to decide whether to index a page.
Paste the URL into the tool and run it. It requests the URL and shows the status code it returns, any redirects it follows, and the final status. You can check up to 100 URLs at once.
A 301 is permanent and passes ranking signals to the new URL, and search engines replace the old address with the new one. A 302 is temporary, so the old URL usually stays indexed. The tool flags temporary redirects so you can switch them to 301 when the move is permanent.
A soft 404 is a page that says it can't be found but returns a 200 status. Google treats these as errors and may not index them. The tool flags 200 pages whose title looks like an error page, so you can return a real 404 or 410 instead.
A 404 says the page can't be found, which may be temporary. A 410 says it was removed on purpose and won't return. Search engines drop 410 pages a little faster, but in practice both lead to removal from the index.
Many sites block automated requests with a firewall, bot protection or rate limits. Try a different user agent such as Chrome, and check fewer URLs at once. If a real browser works but the tool is refused, the site is blocking bots rather than the page being broken.
Yes. A 5xx means the server failed, so the page can't be crawled. Occasional ones are tolerated, but repeated 5xx errors make Google slow its crawling and eventually drop pages. A 503 with a Retry-After header is the correct response during planned maintenance.
Up to 100 per run. Paste one URL per line, or upload a CSV or text file. For a CSV, the tool uses the first column that looks like a URL and skips a header row. Duplicates are removed automatically.
Yes, up to three hops. It shows the status of the first response, the final status, and how many redirects were in between. If a URL needs more than three hops it is reported as too many redirects, which usually means a loop. Use the Redirect Checker to see the full chain.
No. The URLs are requested to read their status, the results are shown in your browser, and nothing is saved or shared.

More free SEO tools

Status codes decide what search engines keep. These tools check redirects, links and sitemaps that depend on them.

Call WhatsApp SEO Audit