HTTP Status Codes
All HTTP status codes with explanations - searchable and organized
The request was successful. For GET requests the requested resource is returned, for POST the result of the action.
The request was successful and a new resource has been created. Typically returned after POST requests.
The request has been accepted but processing is not yet complete. Useful for asynchronous operations.
The request was successful but there is no content in the response. Commonly used for DELETE requests.
The server is delivering only part of the resource, e.g. for range requests during large file downloads.
Contains information about multiple resources in situations where multiple status codes would be appropriate (WebDAV).
The request is malformed and cannot be processed by the server. Often caused by incorrect syntax or invalid parameters.
The request requires authentication. The client must first identify itself with valid credentials.
Reserved for future use. Sometimes used by APIs for endpoints that require payment.
The server understands the request but refuses to execute it. The client does not have the required permission.
The requested resource was not found. The most well-known HTTP status code of all.
The HTTP method used (GET, POST, etc.) is not allowed for this resource.
The server cannot deliver content that matches the client's Accept headers.
The server waited too long for the complete request from the client and closed the connection.
The request conflicts with the current state of the resource, e.g. during concurrent editing.
The resource is permanently no longer available. Unlike 404, this is an intentional removal.
The server requires a Content-Length header in the request.
The request body is larger than the server allows, e.g. for oversized file uploads.
The requested URL is longer than the server can process.
The Content-Type of the request is not supported by the server.
An April Fools' joke status code from RFC 2324. The server is a teapot and cannot brew coffee.
The request is syntactically correct but semantically invalid. Common for validation errors in APIs.
The client has sent too many requests in a given time period (rate limiting).
Access to the resource is denied for legal reasons, e.g. censorship or court order.
A general server error has occurred. The server was unable to process the request.
The server does not support the requested functionality. The HTTP method is not recognized.
The server is acting as a gateway or proxy and received an invalid response from the upstream server.
The server is temporarily unavailable, e.g. due to maintenance or overload.
The server is acting as a gateway and did not receive a timely response from the upstream server.
The HTTP version used in the request is not supported by the server.
The server cannot fulfill the request because there is not enough storage space available (WebDAV).
The server detected an infinite loop while processing the request (WebDAV).
The client must authenticate with the network, e.g. at a captive portal (Wi-Fi login).
What are HTTP Status Codes?
HTTP Status Codes are three-digit numbers that a web server returns in response to a request. They inform the client (browser, API consumer) about the status of the request. The codes are divided into five categories: 1xx (Informational), 2xx (Success), 3xx (Redirection), 4xx (Client Error), and 5xx (Server Error). Every web developer should know the most important codes to correctly implement APIs and quickly diagnose errors. Proper use of status codes is a hallmark of professional API design.
How do I use this reference?
Use the search field above to search for a specific code, name, or keyword. The codes are grouped into expandable categories. Particularly important and frequently used codes are marked with a blue "common" badge. Click on a category to expand or collapse all associated codes.
Why know HTTP Status Codes?
The correct use of HTTP status codes is essential for robust APIs and web applications. A 201 instead of 200 when creating a resource, a 404 instead of 500 when something is not found - these distinctions make the difference between a professional and an error-prone API. Status codes are also important for SEO: 301 redirects transfer link juice, while 302 redirects do not. Understanding these nuances helps you build better web applications.
More Tools
Also try our JWT Decoder for token analysis, the JSON Formatter for API responses, or the URL Encoder for URL parameters.