HTTP Status Codes Reference
Browse all HTTP status codes with descriptions, use cases, and quick search filtering.
Showing 60 of 60 status codes
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 via the Upgrade header.
Processing
The server has received and is processing the request, but no response is available yet.
Early Hints
Used to return some response headers before the final HTTP message.
OK
The request has succeeded. The meaning depends on the HTTP method used.
Created
The request has been fulfilled and a new resource has been created.
Accepted
The request has been accepted for processing, but the processing has not been completed.
Non-Authoritative Information
The returned metadata is from a local or third-party copy, not the origin server.
No Content
The server successfully processed the request but is not returning any content.
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.
Multi-Status
The response body contains multiple status codes for multiple independent operations.
Already Reported
Members of a DAV binding have already been enumerated in a previous reply.
IM Used
The server has fulfilled a GET request for the resource with instance-manipulations applied.
Multiple Choices
The request has more than one possible response. The user or user agent should choose one.
Moved Permanently
The resource has been permanently moved to a new URL. All future requests should use the new URL.
Found
The resource is temporarily located at a different URL. Future requests should continue using the original URL.
See Other
The response to the request can be found at another URI using a GET method.
Not Modified
The resource has not been modified since the version specified by the request headers.
Temporary Redirect
The request should be repeated with another URI, but future requests should still use the original URI. The method must not change.
Permanent Redirect
The resource has been permanently moved. The method and body must not change.
Bad Request
The server cannot process the request due to a client error such as malformed syntax.
Unauthorized
The request requires user authentication. The client must authenticate itself to get the requested response.
Payment Required
Reserved for future use. Originally intended for digital payment systems.
Forbidden
The server understood the request but refuses to authorize it.
Not Found
The server cannot find the requested resource. The URL is not recognized.
Method Not Allowed
The request method is not supported for the requested resource.
Not Acceptable
The server cannot produce a response matching the list of acceptable values defined in the request headers.
Proxy Authentication Required
The client must first authenticate itself with the proxy.
Request Timeout
The server timed out waiting for the request.
Conflict
The request conflicts with the current state of the server.
Gone
The resource is no longer available and will not be available again.
Length Required
The request did not specify the length of its content as required by the server.
Precondition Failed
The server does not meet one of the preconditions specified in the request headers.
Payload Too Large
The request entity is larger than limits defined by the server.
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.
Range Not Satisfiable
The range specified in the Range header cannot be fulfilled.
Expectation Failed
The server cannot meet the requirements of the Expect request-header field.
I'm a Teapot
The server refuses to brew coffee because it is, permanently, a teapot. Defined in RFC 2324.
Unprocessable Entity
The request was well-formed but was unable to be followed due to semantic errors.
Locked
The resource being accessed is locked.
Failed Dependency
The request failed because it depended on another request that also failed.
Too Early
The server is unwilling to risk processing a request that might be replayed.
Upgrade Required
The server refuses to perform the request using the current protocol.
Precondition Required
The server requires the request to be conditional.
Too Many Requests
The user has sent too many requests in a given amount of time (rate limiting).
Request Header Fields Too Large
The server is unwilling to process the request because its header fields are too large.
Unavailable For Legal Reasons
The resource is unavailable due to legal demands such as censorship or government-mandated blocking.
Internal Server Error
The server encountered an unexpected condition that prevented it from fulfilling the request.
Not Implemented
The server does not support the functionality required to fulfill the request.
Bad Gateway
The server acting as a gateway received an invalid response from the upstream server.
Service Unavailable
The server is not ready to handle the request, usually due to maintenance or overload.
Gateway Timeout
The server acting as a gateway did not receive a timely response from the upstream server.
HTTP Version Not Supported
The server does not support the HTTP protocol version used in the request.
Variant Also Negotiates
The server has an internal configuration error during content negotiation.
Insufficient Storage
The server is unable to store the representation needed to complete the request.
Loop Detected
The server detected an infinite loop while processing the request.
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.
Related Tools
JSON Formatter
Format, beautify, minify, and validate JSON data online with instant error detection.
Regex TesterNEW
Test and debug regular expressions with real-time matching, highlighting, and explanation.
HTML FormatNEW
Format and beautify messy HTML code with proper indentation and structure.
API FormatterNEW
Format and prettify API responses in JSON, XML, and other formats with syntax highlighting.
Frequently Asked Questions
What are HTTP status codes?
What is the difference between 301 and 302 redirects?
What does HTTP 404 mean?
What is the difference between 401 and 403?
What causes a 500 Internal Server Error?
What is HTTP 429 Too Many Requests?
What is the difference between 200 and 204?
When should I use HTTP 201 vs 200?
Complete HTTP Status Code Reference Guide
HTTP status codes are a fundamental part of how the web works. Every time your browser requests a page, downloads a file, or submits a form, the web server responds with a three-digit status code that tells the client what happened. Understanding these codes is essential for web developers, API designers, system administrators, and anyone who builds or maintains web applications.
Our free HTTP status code reference provides a complete, searchable database of all standard HTTP response codes defined by the IETF in RFC 7231, RFC 7232, RFC 7233, RFC 7235, RFC 6585, and RFC 8470. Each status code includes its official name, a detailed description of what it means, and common real-world use cases to help you understand when and why each code is returned.
Understanding HTTP Status Code Categories
1xx Informational responses indicate that the server has received the request and is continuing to process it. These are rarely seen by end users but are important for protocols like WebSocket upgrades (101 Switching Protocols) and large file uploads (100 Continue). The 100 Continue status is particularly useful for clients sending large request bodies, as it allows the server to reject the request before the full body is transmitted.
2xx Success responses confirm that the request was successfully received, understood, and accepted. The most common is 200 OK for standard successful requests. Other important codes include 201 Created for new resource creation, 204 No Content for successful operations with no response body, and 206 Partial Content for range requests used in video streaming and resumable downloads.
3xx Redirection responses tell the client that further action is needed to complete the request. 301 Moved Permanently and 302 Found are the most common, used for URL redirections. 304 Not Modified is crucial for caching efficiency, telling the browser to use its cached copy rather than downloading the resource again. Understanding the difference between permanent and temporary redirects is critical for SEO.
4xx Client error responses indicate that the request contains bad syntax or cannot be fulfilled due to a problem on the client side. 400 Bad Request covers malformed syntax, 401 Unauthorized requires authentication, 403 Forbidden denies access despite authentication, and 404 Not Found indicates a missing resource. The 429 Too Many Requests code is increasingly important for rate-limited APIs and DDoS protection.
5xx Server error responses indicate that the server failed to fulfill a valid request. 500 Internal Server Error is the generic catch-all for unexpected server failures. 502 Bad Gateway indicates an upstream server returned an invalid response, commonly seen with reverse proxies. 503 Service Unavailable means the server is temporarily overloaded or under maintenance, and 504 Gateway Timeout occurs when an upstream server does not respond in time.
HTTP Status Codes for API Development
When designing RESTful APIs, proper use of HTTP status codes is essential for creating intuitive and maintainable interfaces. A well-designed API uses 200 for successful GET requests, 201 for successful POST operations that create resources, 204 for successful DELETE operations, 400 for validation errors with descriptive error messages, 401 for missing or invalid authentication tokens, 403 for insufficient permissions, 404 for resources that do not exist, 409 for conflicts like duplicate entries, and 422 for semantically invalid request data.
Rate limiting should return 429 with a Retry-After header, and server errors should return 500 with a correlation ID for debugging. Consistent status code usage across your API makes it predictable for consumers and simplifies error handling in client applications. Always pair status codes with descriptive error response bodies that help developers understand what went wrong and how to fix it.
Why Use Our HTTP Status Code Reference?
Instant search. Filter the entire list of HTTP status codes by typing a code number, name, or keyword. Find the exact code you need in seconds without scrolling through documentation. The search works across code numbers, names, and descriptions for maximum flexibility.
Category filtering. Focus on specific categories like client errors (4xx) or server errors (5xx) with one click. This is useful when you are debugging a specific type of issue or learning about a particular category of responses.
Real-world use cases. Every status code includes practical examples of when and why it is used, going beyond the RFC specifications to explain how these codes are used in modern web applications, APIs, and microservice architectures.
Always available. This reference works entirely in your browser with no server requests needed. Bookmark it and use it even when you are offline. No accounts, no ads blocking your view, just instant access to the information you need.