HTTP Status Codes
Every standard HTTP status code, grouped by class, with a plain-language explanation of what it actually means. Search by number or keyword.
1xx — Informational
Continue
The initial part of the request was received; the client should continue sending the rest.
Switching Protocols
The server is switching protocols as requested (e.g. to WebSocket) via an Upgrade header.
Processing
The server has accepted a complex request and is still processing it (WebDAV).
Early Hints
Preliminary hints (e.g. resources to preload) sent before the final response.
2xx — Success
OK
The request succeeded.
Created
The request succeeded and a new resource was created as a result.
Accepted
The request was accepted for processing, but that processing is not complete.
Non-Authoritative Information
The returned metadata is not from the origin server, but from a transforming proxy.
No Content
The request succeeded but there is no content to return.
Reset Content
The request succeeded; the client should reset the document view that sent it.
Partial Content
Only part of the resource is being returned, matching a Range header in the request.
Multi-Status
A WebDAV response conveying status for multiple independent operations.
Already Reported
A WebDAV binding's members were already listed in a previous part of the response.
IM Used
The server fulfilled the request using an instance-manipulation applied to the resource.
3xx — Redirection
Multiple Choices
The request has more than one possible response; the client should choose one.
Moved Permanently
The resource has permanently moved to a new URL — clients should update their records.
Found
The resource temporarily lives at a different URL; the original URL should still be used going forward.
See Other
The response to the request can be found at another URL, retrieved with a GET request.
Not Modified
The resource hasn't changed since the version specified by request headers — use the cached copy.
Use Proxy
(Deprecated) The requested resource must be accessed through the proxy given in the response.
Temporary Redirect
Like 302, but guarantees the method and body of the original request are repeated exactly.
Permanent Redirect
Like 301, but guarantees the method and body of the original request are repeated exactly.
4xx — Client Error
Bad Request
The server cannot process the request due to a client error — malformed syntax, invalid data.
Unauthorized
Authentication is required and has failed or not been provided.
Payment Required
Reserved for future use — occasionally used by APIs to signal a payment requirement.
Forbidden
The server understood the request but refuses to authorize it.
Not Found
The server can't find the requested resource.
Method Not Allowed
The request method is known but not supported by this resource.
Not Acceptable
No content matching the criteria in the request's Accept headers is available.
Proxy Authentication Required
Like 401, but authentication must happen with a proxy first.
Request Timeout
The server timed out waiting for the request.
Conflict
The request conflicts with the current state of the target resource.
Gone
The resource is permanently gone and no forwarding address is available.
Length Required
The server refuses the request because a required Content-Length header is missing.
Precondition Failed
A condition in the request headers is not met by the server.
Payload Too Large
The request body is larger than the server is willing or able to process.
URI Too Long
The requested URI is longer than the server is willing to interpret.
Unsupported Media Type
The request's content type is not supported by the server or resource.
Range Not Satisfiable
The requested Range cannot be fulfilled given the size of the resource.
Expectation Failed
The expectation in the request's Expect header cannot be met.
I'm a teapot
An April Fools' RFC joke (RFC 2324) — occasionally used deliberately as an easter egg.
Misdirected Request
The request was sent to a server unable to produce a response for the combination of scheme and authority.
Unprocessable Content
The request was well-formed but contained semantic errors (common in APIs for validation failures).
Locked
The resource being accessed is locked (WebDAV).
Failed Dependency
The request failed because a previous, related request failed (WebDAV).
Too Early
The server is unwilling to process a request that might be replayed.
Upgrade Required
The server refuses to perform the request using the current protocol.
Precondition Required
The origin server requires the request to be conditional (to prevent lost updates).
Too Many Requests
The client has sent too many requests in a given time (rate limiting).
Request Header Fields Too Large
The server is unwilling to process the request because its headers are too large.
Unavailable For Legal Reasons
The resource is unavailable due to a legal demand (e.g. government-mandated blocking).
5xx — Server Error
Internal Server Error
The server encountered an unexpected condition it doesn't know how to handle.
Not Implemented
The request method is not supported by the server.
Bad Gateway
The server, acting as a gateway, got an invalid response from an upstream server.
Service Unavailable
The server is not ready to handle the request — often overloaded or down for maintenance.
Gateway Timeout
The server, acting as a gateway, did not get a response in time from an upstream server.
HTTP Version Not Supported
The HTTP version used in the request is not supported.
Variant Also Negotiates
Transparent content negotiation resulted in a circular reference.
Insufficient Storage
The server can't store the representation needed to complete the request (WebDAV).
Loop Detected
The server detected an infinite loop while processing the request (WebDAV).
Not Extended
Further extensions to the request are required for the server to fulfill it.
Network Authentication Required
The client needs to authenticate to gain network access (e.g. a captive portal).
About the HTTP Status Codes
HTTP status codes are grouped by their first digit: 1xx are informational, 2xx mean success, 3xx are redirects, 4xx are client errors (you did something the server couldn't process), and 5xx are server errors (the server failed, not you). Knowing the class alone often tells you where to start debugging before reading the specific code.
The registry is maintained by IANA and defined across several RFCs — most codes trace back to the original HTTP/1.1 spec, with newer additions like 429 Too Many Requests (rate limiting) and 451 Unavailable For Legal Reasons arriving as the web's needs evolved.
How to use it
- 1Type a code or keyword (e.g. "404" or "not found") to filter.
- 2Scan by class — 2xx success, 3xx redirect, 4xx client error, 5xx server error.
- 3Click a code to copy it.
Features
- All IANA-registered status codes, 1xx through 5xx
- Grouped by class with a one-line meaning for each
- Instant search by code number or keyword
- Click any code to copy it
Frequently asked questions
What does a 4xx vs a 5xx error mean?
4xx means the client (the request) did something the server considers wrong — a bad URL, missing auth, invalid data. 5xx means the server itself failed to handle a request that was otherwise valid.
What is the difference between 401 and 403?
401 Unauthorized means you're not authenticated — the server doesn't know who you are (despite the name, it's really about missing/invalid credentials). 403 Forbidden means you are identified but not allowed to access that resource.
What is the difference between 301 and 302?
301 Moved Permanently tells clients and search engines to update their records to the new URL. 302 Found is a temporary redirect — the original URL should still be used for future requests.
Is this list complete?
It covers every status code in the IANA HTTP Status Code Registry, including the less common ones like 425 Too Early and 508 Loop Detected.