HTTP Status Reference
Browse HTTP status codes (1xx–5xx) with descriptions.
Your data never leaves your browser
Continue
The server has received the request headers and the client should proceed to send the request body.
Switching Protocols
The server is switching protocols as requested by the client, for example upgrading from HTTP to WebSocket.
Processing
The server has received and is processing the request, but no response is available yet (WebDAV).
Early Hints
Used to return some response headers before the final HTTP message, allowing the client to preload resources.
OK
The request has succeeded. The meaning depends on the HTTP method (GET, POST, PUT, DELETE, etc.).
Created
The request has been fulfilled and resulted in a new resource being created, typically after a POST request.
Accepted
The request has been accepted for processing but the processing has not been completed yet.
Non-Authoritative Information
The returned metadata may be from a third-party copy rather than the origin server.
No Content
The server successfully processed the request and is not returning any content body.
Reset Content
The server successfully processed the request and asks the client to reset the document view.
Partial Content
The server is delivering only part of the resource due to a range header sent by the client.
Multiple Choices
The request has more than one possible response. The user or user agent should choose one of them.
Moved Permanently
The URL of the requested resource has been changed permanently. The new URL is given in the response.
Found
The requested resource resides temporarily under a different URI. The client should continue to use the original URI.
See Other
The server sent this response to direct the client to get the requested resource at another URI with a GET request.
Not Modified
Indicates that the resource has not been modified since the version specified by the request headers (used for caching).
Temporary Redirect
The server sends this response to direct the client to a different URI, but the client must use the same HTTP method.
Permanent Redirect
The resource is now permanently located at another URI, and the client must use the same HTTP method for future requests.
Bad Request
The server cannot or will not process the request due to something that is perceived to be a client error (malformed syntax).
Unauthorized
The client must authenticate itself to get the requested response. Often called "unauthenticated" rather than "unauthorized".
Forbidden
The client does not have access rights to the content; the server is refusing to give the requested resource.
Not Found
The server can not find the requested resource. This is the most well-known HTTP error status code.
Method Not Allowed
The request method is known by the server but is not supported by the target resource.
Request Timeout
The server timed out waiting for the request from the client. The client may repeat the request without modifications.
Conflict
The request could not be completed due to a conflict with the current state of the target resource.
Gone
The requested content has been permanently deleted from the server, with no forwarding address.
Payload Too Large
The request entity is larger than limits defined by the server; the server might close the connection or return a Retry-After header.
URI Too Long
The URI requested by the client is longer than the server is willing to interpret.
Unsupported Media Type
The media format of the requested data is not supported by the server, so the server is rejecting the request.
I'm a teapot
The server refuses the attempt to brew coffee with a teapot. This is an April Fools joke from RFC 2324 (HTCPCP).
Unprocessable Entity
The request was well-formed but was unable to be followed due to semantic errors (WebDAV).
Too Many Requests
The user has sent too many requests in a given amount of time ("rate limiting"). The response should include a Retry-After header.
Unavailable For Legal Reasons
The server is denying access to the resource as a consequence of a legal demand (e.g., censorship or copyright).
Internal Server Error
The server has encountered a situation it does not know how to handle. This is a generic server error response.
Not Implemented
The request method is not supported by the server and cannot be handled. The server either does not recognize the request method or lacks the ability to fulfill it.
Bad Gateway
The server, while acting as a gateway or proxy, received an invalid response from the upstream server.
Service Unavailable
The server is not ready to handle the request. Common causes are server maintenance or temporary overloading.
Gateway Timeout
The server, while acting as a gateway or proxy, did not get a response in time from the upstream server.
No status codes found.
HTTP Status Reference is a searchable, color-coded directory of every standard HTTP response code. Instead of digging through RFC documents, you can look up what 418 or 307 actually means in seconds. It is made for web developers debugging APIs, DevOps engineers reading server logs, and anyone who has ever stared at an error page wondering what went wrong.
How to Use
- Browse codes: Scroll the full list organized by category from 1xx to 5xx.
- Search: Type a code number like
502or a keyword likeredirectto filter instantly. - Filter: Narrow the list to one category — informational, success, redirection, client error, or server error.
Features
- Complete list of standard HTTP status codes
- Search by code number or description
- Category filtering (1xx–5xx)
- Color-coded categories for quick scanning
- Plain-language explanations, not just RFC jargon
Understanding the Five Categories
HTTP status codes are grouped by their first digit, and knowing the groups makes debugging much faster. Codes in the 1xx range are informational and rarely seen by users — 101 Switching Protocols, for example, appears when a connection upgrades to WebSocket. The 2xx family means success: 200 OK is the normal case, while 201 Created and 204 No Content tell API clients exactly what happened.
The 3xx codes handle redirects, and the distinction between 301 (permanent) and 302 (temporary) matters enormously for SEO, because only a 301 passes link equity to the new URL. The famous 4xx codes signal client mistakes — 400 for malformed requests, 401 for missing authentication, 403 for insufficient permission, 404 for missing resources, and 429 when you are being rate-limited. Finally, 5xx codes mean the server itself failed: 500 is a generic crash, 502 means an upstream service (like the app behind your reverse proxy) answered badly, and 503 usually means the service is temporarily down, often during a deploy.
Use Cases
- Decoding unfamiliar errors returned by a third-party API
- Interpreting load balancer and reverse proxy logs (502 vs. 504)
- Writing correct error handling in client code
- Teaching HTTP fundamentals to junior developers
Related Tools
Frequently Asked Questions
What is HTTP status code 404?
404 Not Found means the server cannot find the requested resource.
What's the difference between 401 and 403?
401 means authentication required. 403 means you lack permission.
What does a 503 error mean?
503 Service Unavailable means the server is temporarily overloaded or down for maintenance. Retrying later usually works.
What is the difference between 301 and 302?
301 is a permanent redirect that passes SEO value to the new URL; 302 is temporary and keeps the original address indexed.