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
- Search by number or word (for example 404 or “redirect”).
- Filter by class: 2xx success, 3xx redirect, 4xx client error, 5xx server error.
- Open a code for its meaning and practical tips.
Privacy
Runs entirely in your browser. Nothing you enter or open here is uploaded.