HTTP Status Codes
Searchable list of every HTTP status code.
1xx · Informational
100
Continue
Server got the request headers and the client should keep going. Used during expect-continue handshakes.
101
Switching Protocols
Server is changing protocols, usually to WebSocket.
102
Processing
Server received the request but processing isn't done. Mostly used by WebDAV.
103
Early Hints
Lets the client preload resources before the final response. Modern browsers use it for performance.
2xx · Success
200
OK
Request succeeded. The most common success code.
201
Created
Request succeeded and a new resource was made. Common for POST that creates something.
202
Accepted
Request accepted but not yet processed. Used for async work where you queue and return.
204
No Content
Request succeeded but there's no body to return. Common for DELETE.
206
Partial Content
Server returns a range of bytes, used for resumable downloads and video streaming.
3xx · Redirect
301
Moved Permanently
Resource moved to a new URL forever. Browsers cache this aggressively.
302
Found
Temporary redirect. Don't cache. The original URL is still valid.
303
See Other
Redirect to another URL with a GET, even if the original was POST. Used in POST/redirect/GET.
304
Not Modified
Cached version is still good. Server returns no body and the client uses what it has.
307
Temporary Redirect
Like 302 but the method must not change. POST stays POST.
308
Permanent Redirect
Like 301 but the method must not change.
4xx · Client Error
400
Bad Request
Server can't process the request. Usually malformed JSON, missing fields, or invalid input.
401
Unauthorized
Authentication is missing or invalid. The client needs to log in.
402
Payment Required
Reserved for future use. Some APIs return it for paywall or quota issues.
403
Forbidden
Authenticated but not allowed. The user doesn't have permission for this action.
404
Not Found
Resource doesn't exist. The most famous error code.
405
Method Not Allowed
Endpoint exists but doesn't support this HTTP method (e.g., POST to a GET-only route).
406
Not Acceptable
Server can't produce a response matching the client's Accept headers.
408
Request Timeout
Server gave up waiting for the request. Usually means a slow client.
409
Conflict
Request conflicts with current state. Common for duplicate resources or version conflicts.
410
Gone
Resource existed but is permanently removed. Stronger than 404.
411
Length Required
Server requires Content-Length header and the request didn't have one.
413
Payload Too Large
Request body exceeds the server's limit. File uploads often hit this.
414
URI Too Long
URL is too long. Usually means too many query parameters.
415
Unsupported Media Type
Server can't handle the request's content type.
418
I'm a teapot
From the April Fools RFC 2324. Returned by teapots that refuse to brew coffee. Real and registered.
422
Unprocessable Entity
Request was well-formed but had semantic errors. Common for validation failures.
425
Too Early
Server is unwilling to process a request that might be replayed.
426
Upgrade Required
Client should switch to a newer protocol version.
428
Precondition Required
Origin server requires the request to be conditional.
429
Too Many Requests
Rate limited. Wait and retry, usually with backoff.
431
Request Header Fields Too Large
Headers are too big for the server to process.
451
Unavailable For Legal Reasons
Resource blocked due to a legal demand. Named after Fahrenheit 451.
5xx · Server Error
500
Internal Server Error
Server crashed or hit an unhandled error. The catch-all server failure code.
501
Not Implemented
Server doesn't support this functionality.
502
Bad Gateway
Server acting as a gateway got a bad response from upstream.
503
Service Unavailable
Server is overloaded or down for maintenance. Try again later.
504
Gateway Timeout
Server acting as a gateway timed out waiting for upstream.
505
HTTP Version Not Supported
Server doesn't support the HTTP version in the request.
507
Insufficient Storage
Server can't store the representation needed to complete the request.
508
Loop Detected
Server detected an infinite loop while processing.
511
Network Authentication Required
Client needs to authenticate to the network. Used by captive portals.
About
All standard HTTP status codes from 100 to 599, plus the common non-standard ones. Search by number or by name. Each entry has a short explanation and when you'd see it in practice.
How to use
- Type a number or keyword.
- Read the description.
FAQ
What's the difference between 401 and 403?+
401 means you're not authenticated (no valid login). 403 means you're authenticated but not allowed to do this action. They get mixed up a lot.
Are 418 teapots real?+
418 'I'm a teapot' is a real registered code from an April Fools RFC. Most servers don't return it, but it's official.