HTTP Status Codes

Every HTTP status code from 100 to 599 explained in plain English: what 301, 403, 404, 500 and 503 mean and how to fix them. Free.

100 Continue

The server got the request headers; the client should send the body.

101 Switching Protocols

The server is switching protocols as asked, e.g. to WebSocket.

103 Early Hints

Lets the browser start preloading resources while the server prepares the response.

200 OK

The request succeeded.

201 Created

The request succeeded and created a new resource, usually after POST or PUT.

The Location header usually points to the new resource.

202 Accepted

The request was accepted for processing, which hasn't finished yet.

204 No Content

Success, with no body to return — common after DELETE or a save.

206 Partial Content

Only part of the resource is sent, because the client asked for a byte range (video seeking, resumed downloads).

301 Moved Permanently

The resource has a new permanent URL.

For SEO, use 301 (or 308) when a page moves for good — search engines transfer ranking to the new URL.

302 Found

The resource is temporarily at another URL. Browsers may change POST to GET when following it.

303 See Other

Go to another URL with GET — used after a form submission to avoid resubmitting.

304 Not Modified

The cached copy is still valid; no body is sent.

307 Temporary Redirect

Temporarily at another URL; the method and body must stay the same.

308 Permanent Redirect

Permanently at another URL; the method and body must stay the same.

400 Bad Request

The server can't process the request because it's malformed — bad syntax, invalid JSON, missing fields.

401 Unauthorized

Authentication is required or failed — you're not logged in, or the token is invalid.

Despite the name, 401 means unauthenticated. 403 means authenticated but not allowed.

402 Payment Required

Reserved; some APIs use it when a payment or quota is needed.

403 Forbidden

The server understood the request but refuses it — you don't have permission.

404 Not Found

Nothing exists at this URL.

If a page was removed on purpose, 410 Gone tells search engines to drop it faster.

405 Method Not Allowed

This URL doesn't accept the HTTP method used (e.g. POST to a read-only URL).

406 Not Acceptable

The server can't produce a response in the formats the Accept header asks for.

408 Request Timeout

The client took too long to send the request.

409 Conflict

The request conflicts with the current state, e.g. editing something someone else just changed.

410 Gone

The resource was deliberately removed and won't come back.

411 Length Required

The server needs a Content-Length header.

412 Precondition Failed

A condition in the request headers (like If-Match) isn't met.

413 Content Too Large

The request body is larger than the server allows — usually an upload that's too big.

414 URI Too Long

The URL is longer than the server will handle.

415 Unsupported Media Type

The server doesn't accept the request body's format (Content-Type).

416 Range Not Satisfiable

The requested byte range is outside the file.

418 I'm a teapot

An April Fools' joke from 1998 (RFC 2324). Some servers use it to turn away bots.

421 Misdirected Request

The request reached a server that can't answer for this host.

422 Unprocessable Content

The request is well-formed but its content is invalid — common for validation errors in APIs.

423 Locked

The resource is locked (WebDAV).

425 Too Early

The server won't risk processing a request that might be replayed.

426 Upgrade Required

The client must switch to another protocol, given in the Upgrade header.

428 Precondition Required

The server requires conditional requests to prevent lost updates.

429 Too Many Requests

You've sent too many requests in a given time (rate limiting).

Check the Retry-After header for how long to wait.

431 Request Header Fields Too Large

The headers (often cookies) are too big.

451 Unavailable For Legal Reasons

The resource is blocked for legal reasons, such as a court order.

500 Internal Server Error

Something went wrong on the server, and it didn't say what.

Check the server's error log — the cause is there, not in the browser.

501 Not Implemented

The server doesn't support the functionality needed.

502 Bad Gateway

A proxy or load balancer got an invalid response from the server behind it.

Usually the app server behind nginx or Cloudflare is down or crashed.

503 Service Unavailable

The server is overloaded or down for maintenance.

Use 503 with Retry-After during planned maintenance so search engines come back later.

504 Gateway Timeout

A proxy waited too long for the server behind it.

505 HTTP Version Not Supported

The server doesn't support the HTTP version used.

507 Insufficient Storage

The server can't store what's needed to complete the request.

508 Loop Detected

The server found an infinite loop while processing (WebDAV).

511 Network Authentication Required

You need to log in to the network first — typical of hotel and café Wi-Fi.

520 Web Server Returned an Unknown Error

Cloudflare-specific: the origin server returned something unexpected.

521 Web Server Is Down

Cloudflare-specific: the origin server refused the connection.

522 Connection Timed Out

Cloudflare-specific: Cloudflare couldn't connect to the origin in time.

523 Origin Is Unreachable

Cloudflare-specific: Cloudflare can't reach the origin server.

524 A Timeout Occurred

Cloudflare-specific: the origin connected but took too long to respond (over 100 seconds).

525 SSL Handshake Failed

Cloudflare-specific: the TLS handshake with the origin failed.

526 Invalid SSL Certificate

Cloudflare-specific: the origin's certificate isn't valid.

How to use HTTP Status Codes

  1. Search by number or word (for example 404 or “redirect”).
  2. Filter by class: 2xx success, 3xx redirect, 4xx client error, 5xx server error.
  3. Open a code for its meaning and practical tips.

Privacy

Runs entirely in your browser. Nothing you enter or open here is uploaded.

Related tools