Check HTTP Status Codes in Bulk

Free online HTTP status code checker. Check the status code of up to 100 URLs at once — 200, 301, 302, 404, 410, 500 and more. Sees redirect chains, final codes, and response time.

Paste URLs above to see an estimate

The checker follows up to 10 redirect hops per URL, so you see both the initial status code (e.g. 301) and the final status code after the chain (e.g. 200). Click any row to see every hop.

HTTP status code reference

Every HTTP response carries a 3-digit status code. The first digit groups the response into a category. The second and third digits identify the specific case. Here are the codes you'll most often see in this tool.

1xx — Informational

Provisional responses. The server has received the request and is continuing the process. You almost never see these in this tool because the proxy waits for the final response.

100 Continue

The initial part of a request was received and the client should continue. Used with large uploads to confirm the server is willing to accept them.

101 Switching Protocols

The server agreed to switch protocols, typically HTTP to WebSocket.

2xx — Success

The server received, understood, and processed the request. For SEO, this is the only category you want for pages that should be indexed.

200 OK

The standard success response. The server returned the resource you asked for. Every public page that should rank in search needs to return 200.

201 Created

Returned by APIs after a successful POST that creates a new resource. Rare on web pages.

204 No Content

The request succeeded but there's nothing to return. Common for DELETE actions and some API endpoints.

3xx — Redirection

The resource has moved. The Location header tells the client where to go next. The tool follows up to 10 redirect hops, so the Final column shows what's at the end of the chain.

301 Moved Permanently

The URL has permanently moved to a new address. Search engines transfer the canonical signal to the new URL over time.

302 Found

Temporary redirect. The original URL stays canonical in search engines — use this for A/B tests, maintenance pages, or short-lived redirects.

304 Not Modified

The cached copy in the client is still fresh. Servers return this when an If-Modified-Since or If-None-Match header confirms the resource hasn't changed.

307 Temporary Redirect

Like 302, but preserves the HTTP method (a POST stays a POST). Often used by HSTS to upgrade HTTP to HTTPS.

308 Permanent Redirect

Like 301, but preserves the HTTP method. Functionally equivalent to 301 for normal page redirects.

4xx — Client errors

The request was wrong, forbidden, or pointed at something that doesn't exist. These are problems with the URL or with how the client made the request — not with the server itself.

400 Bad Request

The server can't parse the request — usually a malformed URL, missing parameter, or invalid header.

401 Unauthorized

The request needs authentication. Despite the name, it's really "unauthenticated" — log in or supply credentials.

403 Forbidden

The server understood the request but refuses to fulfill it. Common when a bot UA is blocked or a resource is restricted by IP.

404 Not Found

The URL doesn't exist on this server. The most common 4xx — broken links, typos, or pages that have been removed without a redirect.

410 Gone

The URL existed but has been permanently removed. More definitive than 404 — search engines deindex 410s faster.

429 Too Many Requests

You've hit a rate limit. Slow down. The server may include a Retry-After header telling you how long to wait.

5xx — Server errors

The server tried to fulfill the request and failed. The URL itself is fine — something on the server side is broken or overloaded.

500 Internal Server Error

A generic "something broke on the server" code. Almost always indicates a bug, exception, or misconfiguration in the application.

502 Bad Gateway

The server was acting as a gateway or proxy and got an invalid response from the upstream. Usually means a backend service is down.

503 Service Unavailable

The server is temporarily unable to handle the request — usually maintenance, overload, or a deploy in progress.

504 Gateway Timeout

A gateway or proxy didn't get a response from the upstream in time. Network or backend latency issue.

FAQ

What is an HTTP status code?

An HTTP status code is a 3-digit number a server returns with every response so the client knows what happened. The first digit groups them: 1xx informational, 2xx success, 3xx redirection, 4xx client error, 5xx server error.

The most common ones in day-to-day SEO and ops are 200 (OK), 301 (permanent redirect), 302 (temporary redirect), 404 (not found), 410 (gone), 500 (server error), and 503 (service unavailable).

How do I check HTTP status codes for many URLs at once?

Paste up to 100 URLs (one per line) into the input above and press Check status codes. The tool fetches each URL with a real GET request, follows up to 10 redirect hops, and returns both the initial status code (what the URL itself returns) and the final status code (what you land on after following all redirects).

You can export everything to CSV when it's done.

Does this tool follow redirects?

Yes. The tool follows up to 10 HTTP-level redirect hops per URL and shows you the full chain — both the initial code (e.g. 301) and the final code after following the chain (e.g. 200, 404, or 0 if it errored).

Click any row to see every hop with its status code, URL, and response time. If you want only the first response without following the chain, look at the Initial column.

What does a 200 status code mean?

200 OK is the standard success response: the server received the request, processed it, and is returning the requested resource. For SEO, a 200 is what you want for every page you intend to be indexed.

If a page that should return 200 starts returning anything else (a redirect, a 404, or a 5xx), search engines will eventually drop it from the index.

What's the difference between 301 and 302 redirects?

Both are redirects, both pass PageRank — Google confirmed in 2016 that all 30x codes pass PageRank equally. The difference is canonicalization:

301 is permanent and tells search engines the new URL replaces the old one in the index. 302 is temporary — Google follows it but keeps the original URL indexed.

Use 301 for migrations and renames; use 302 for A/B tests, maintenance pages, and short-lived redirects.

What's the difference between a 404 and a 410?

Both mean the page isn't there, but they say different things. 404 Not Found means the page is missing — possibly temporarily, possibly an error. 410 Gone is more definitive: this page is permanently removed and there's nothing to redirect to.

For SEO, 410 helps search engines deindex a page faster than 404. Use 410 for products you've discontinued, expired campaigns, and intentionally removed pages.

What do 4xx and 5xx status codes mean?

4xx codes mean the client (browser, bot, your tool) made a request the server couldn't fulfill — most commonly 404 (page doesn't exist), 403 (forbidden), or 401 (auth required).

5xx codes mean the server itself failed — 500 (generic error), 502 (bad gateway, often a backend service is down), 503 (service unavailable, usually maintenance or overload), 504 (gateway timeout).

4xx is your problem to fix in URLs or routing; 5xx is your problem to fix in the application or infrastructure.

Are my URLs sent to a third-party server?

Your URLs are sent only to Wygard's own thin CORS proxy (a single PHP script that fetches the URL on your behalf, because browsers can't read HTTP status codes from cross-origin responses directly). The proxy doesn't log, store, or forward anything — it returns the response straight to your browser, which orchestrates the rest.

No analytics on what you check, no third-party trackers on this tool.

Why is bulk capped at 100 URLs?

100 URLs × up to 10 hops each = up to 1000 HTTP requests through a shared proxy. Beyond that we'd start hammering target servers and our own infrastructure. The tool runs 5 URLs in parallel, but URLs from the same domain are queued sequentially with a small delay — to be polite to the target server.

If you need to monitor status codes for more than 100 URLs continuously, that's exactly what Wygard is built for.