HTTP Status Codes Reference
All 63 HTTP status codes with descriptions, causes, and developer tips. Search by code or keyword, filter by class, and expand any card for full details.
Quick Answer
What are the HTTP status code categories?
HTTP status codes have five categories: 1xx (Informational) for in-progress requests, 2xx (Success) for completed requests, 3xx (Redirection) for URL changes, 4xx (Client Error) for bad requests, and 5xx (Server Error) for server failures. The most common codes are 200 OK, 301 redirect, 404 Not Found, and 500 Internal Server Error.
HTTP Status Code Reference
All 63 codes -- search, filter, and expand for full details
Showing 59 of 59 codes
Continue
Server received request headers; client should proceed to send the body.
Switching Protocols
Server agrees to switch to the protocol requested via the Upgrade header.
Processing
Server has received the request and is processing it; no response available yet.
Early Hints
Sends preload Link headers before the final response to allow early resource fetching.
OK
The request succeeded. Response body contains the requested data.
Created
The request succeeded and a new resource was created as a result.
Accepted
Request accepted for processing but processing is not yet complete.
Non-Authoritative Information
Success, but returned metadata came from a third party rather than the origin server.
No Content
Request succeeded but there is no content to return in the response body.
Reset Content
Request succeeded; client should reset the document view (e.g., clear a form).
Partial Content
Server is delivering only part of the resource due to a Range header in the request.
Multi-Status
Response contains multiple independent status codes in the body (WebDAV).
Already Reported
DAV binding members already enumerated in a previous 207 reply; not included again.
IM Used
Server fulfilled a GET and the response represents result of instance manipulations.
Multiple Choices
The request has multiple possible responses; the client should choose one.
Moved Permanently
The resource has permanently moved to a new URL. Update bookmarks and inbound links.
Found
The resource is temporarily at a different URL. Do not update bookmarks.
See Other
The response to the request can be found at a different URI via a GET.
Not Modified
The cached version of the resource is still valid; no body is returned.
Temporary Redirect
Temporary redirect that explicitly preserves the original HTTP method.
Permanent Redirect
Permanent redirect that preserves the original HTTP method.
Bad Request
Server cannot process the request due to malformed syntax or invalid parameters.
Unauthorized
Authentication is required and has failed or has not been provided.
Forbidden
The server understood the request but refuses to authorize it.
Not Found
The server cannot find the requested resource.
Method Not Allowed
The HTTP method is not supported for the target resource.
Not Acceptable
Server cannot produce a response matching the Accept headers sent by the client.
Proxy Authentication Required
Client must authenticate with the proxy before the request can be fulfilled.
Request Timeout
Server timed out waiting for the client to send the complete request.
Conflict
The request conflicts with the current state of the target resource.
Gone
The resource has been permanently deleted and will not return.
Length Required
Server refuses the request without a defined Content-Length header.
Precondition Failed
A conditional request header evaluated to false on the server.
Content Too Large
The request body exceeds the size limit the server is willing to process.
URI Too Long
The request URI is longer than the server is willing to interpret.
Unsupported Media Type
Server refuses to accept the request because the payload format is unsupported.
Range Not Satisfiable
The Range header in the request cannot be fulfilled by the server.
Expectation Failed
Server cannot meet the requirements stated in the Expect request header.
I'm a Teapot
The server refuses to brew coffee because it is, permanently, a teapot.
Unprocessable Content
Request is well-formed but contains semantic errors that prevent processing.
Locked
The resource is currently locked and cannot be accessed or modified.
Failed Dependency
The request failed because it depended on another request that already failed.
Too Early
Server is unwilling to risk processing a request that might be replayed.
Upgrade Required
Client should switch to a different protocol specified in the Upgrade header.
Precondition Required
Server requires the request to be conditional to prevent lost-update problems.
Too Many Requests
Client has sent too many requests in a given time window; rate limit exceeded.
Request Header Fields Too Large
Server refuses the request because one or more headers exceed size limits.
Unavailable For Legal Reasons
Resource cannot be served due to legal restrictions such as government orders or DMCA.
Internal Server Error
A generic server-side error with no more specific code available.
Not Implemented
The server does not support the functionality required to fulfill the request.
Bad Gateway
Server acting as a gateway received an invalid response from an upstream server.
Service Unavailable
The server is temporarily unable to handle requests due to overload or maintenance.
Gateway Timeout
Server acting as gateway did not receive a timely response from an upstream server.
HTTP Version Not Supported
The server does not support the HTTP protocol version used in the request.
Variant Also Negotiates
Server has a content negotiation configuration error resulting in a circular reference.
Insufficient Storage
Server cannot store the representation needed to complete the request.
Loop Detected
The server detected an infinite loop while processing a WebDAV request.
Not Extended
Further extensions to the request are required for the server to fulfill it.
Network Authentication Required
Client needs to authenticate with the network (e.g., captive portal) to gain access.
About this tool
This HTTP status code reference covers all 63 standard codes defined across RFC 7231, RFC 4918 (WebDAV), and related specifications. Each entry includes a short description for quick scanning, plus an expandable detail panel with full context, practical developer tips, and a concrete example use case. Use the search box or category filters to jump directly to the code you need.
Whether you are debugging a failing API call, implementing correct response codes in your own server, or brushing up before an interview, this reference is designed for speed. The color-coded badges map to the five HTTP status classes at a glance: blue for informational, emerald for success, amber for redirects, orange for client errors, and red for server errors.
How it works
- 1
Search by code or keyword
Type a code number (404) or any keyword (timeout, redirect, forbidden) in the search box. Results filter live as you type.
- 2
Filter by status class
Click All, 1xx, 2xx, 3xx, 4xx, or 5xx to narrow results to a single category. The result count updates immediately.
- 3
Expand for full details
Click the Details button on any card to expand the full description, when-to-use guidance, developer tip, and a code example.
- 4
Copy the code number
Click Copy code on any card to copy just the numeric code to your clipboard for pasting into docs, tickets, or code.
HTTP status code categories
| Class | Range | Meaning | Common example |
|---|---|---|---|
| 1xx | 100-199 | Informational -- request received, processing in progress | 101 Switching Protocols (WebSocket upgrade) |
| 2xx | 200-299 | Success -- request received, understood, and accepted | 200 OK, 201 Created, 204 No Content |
| 3xx | 300-399 | Redirection -- client must take additional action to complete request | 301 Moved Permanently, 304 Not Modified |
| 4xx | 400-499 | Client error -- request contains bad syntax or cannot be fulfilled | 400 Bad Request, 401 Unauthorized, 404 Not Found |
| 5xx | 500-599 | Server error -- server failed to fulfil a valid request | 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable |
Top 10 codes every developer should know
The codes you will encounter and implement most often in day-to-day API and web development.
| Code | Name | Most common cause |
|---|---|---|
| 200 | OK | Standard GET, PUT, or PATCH returning data |
| 201 | Created | Successful POST creating a new resource |
| 204 | No Content | Successful DELETE with no response body |
| 301 | Moved Permanently | Permanent domain migration or URL restructure |
| 304 | Not Modified | Conditional GET matched cached ETag or Last-Modified |
| 400 | Bad Request | Missing required field or invalid parameter value |
| 401 | Unauthorized | Missing or expired bearer token |
| 403 | Forbidden | Authenticated user lacks the required permission |
| 404 | Not Found | Wrong URL, deleted resource, or hidden resource |
| 500 | Internal Server Error | Unhandled exception or crash in application code |