HTTP Status Codes Reference
Complete reference of HTTP status codes used in web development. Search by code number, name, or description. Organized by category: informational, success, redirection, client error, and server error.
1xx Informational
The server has received the request headers and the client should proceed to send the request body.
Common use: Large POST requests
The server is switching protocols as requested by the client.
Common use: WebSocket upgrade
The server has received and is processing the request, but no response is available yet.
Common use: Long-running requests
Used to return some response headers before the final HTTP message.
Common use: Resource hints, preloading
2xx Success
The request has succeeded.
Common use: Standard success response
The request has been fulfilled and a new resource has been created.
Common use: POST creating a resource
The request has been accepted for processing but processing has not been completed.
Common use: Async processing
The request was successful but the response is from a transformed source.
Common use: Proxy or mirror
The server successfully processed the request and is not returning any content.
Common use: DELETE, successful update
The server successfully processed the request and asks the client to reset the document view.
Common use: Form reset after submit
The server is delivering only part of the resource due to a range header.
Common use: Range requests, resumable downloads
Conveys information about multiple resources in situations where multiple status codes might be appropriate.
Common use: WebDAV
Used inside a DAV binding to avoid enumerating internal members repeatedly.
Common use: WebDAV
The server has fulfilled a GET request for the resource, and the response represents the result of one or more instance-manipulations.
Common use: Instance manipulation
3xx Redirection
The request has more than one possible response. The client should choose one.
Common use: Content negotiation
The URL of the requested resource has been changed permanently.
Common use: URL permanently moved
The URL of the requested resource has been changed temporarily.
Common use: Temporary redirect
The server sent this response to direct the client to get the requested resource at another URI with a GET request.
Common use: Post-Redirect-Get
Indicates that the resource has not been modified since the version specified by the request headers.
Common use: Caching, conditional requests
The requested resource must be accessed through the proxy given by the Location header.
Common use: Deprecated, rarely used
The server sends this response to direct the client to get the requested resource at another URI with the same method.
Common use: Preserve request method
The resource is permanently located at another URI. The client should use the same request method for future requests.
Common use: Permanent redirect, preserve method
4xx Client Errors
The server could not understand the request due to invalid syntax.
Common use: Malformed request body
Authentication is required and has failed or has not yet been provided.
Common use: Missing or invalid auth
Reserved for future use. Originally intended for digital payment systems.
Common use: Payment required (rare)
The client does not have access rights to the content.
Common use: Authenticated but not permitted
The server can not find the requested resource.
Common use: Resource does not exist
The request method is known by the server but is not supported by the target resource.
Common use: Wrong HTTP method
No content matching the criteria in the Accept header could be found.
Common use: Content negotiation failed
Authentication is required to access the proxy.
Common use: Proxy auth
The server did not receive a complete request within the time it was prepared to wait.
Common use: Client too slow
The request could not be processed because of conflict in the current state.
Common use: Concurrent modification
The requested resource is no longer available and will not be available again.
Common use: Resource permanently removed
The server refuses to accept the request without a defined Content-Length.
Common use: Missing Content-Length
One or more preconditions given in the request header fields were not met.
Common use: Conditional request failed
The request entity is larger than limits defined by the server.
Common use: Request body too big
The URI requested by the client is longer than the server is willing to interpret.
Common use: URL too long
The media format of the requested data is not supported by the server.
Common use: Wrong Content-Type
The range specified in the Range header cannot be fulfilled.
Common use: Invalid range request
The expectation given in the Expect request header could not be met.
Common use: Expect header mismatch
The server refuses to brew coffee because it is, permanently, a teapot.
Common use: Easter egg, RFC 2324
The request was well-formed but could not be processed due to semantic errors.
Common use: Validation errors
The server is unwilling to risk processing a request that might be replayed.
Common use: Replay risk
The server refuses to perform the request using the current protocol.
Common use: Protocol upgrade needed
The origin server requires the request to be conditional.
Common use: Missing If-Match
The user has sent too many requests in a given amount of time.
Common use: Rate limiting
The server is unwilling to process the request because its header fields are too large.
Common use: Headers too big
The user requested a resource that is not available due to legal reasons.
Common use: Censorship, legal block
5xx Server Errors
The server has encountered a situation it does not know how to handle.
Common use: Unexpected server error
The request method is not supported by the server and cannot be handled.
Common use: Unsupported capability
The server, while acting as a gateway or proxy, received an invalid response from an upstream server.
Common use: Upstream server error
The server is not ready to handle the request. Common causes are maintenance or overload.
Common use: Server overload, maintenance
The server, while acting as a gateway or proxy, did not get a response in time from an upstream server.
Common use: Upstream timeout
The HTTP version used in the request is not supported by the server.
Common use: Unsupported HTTP version
The server has an internal configuration error; the chosen variant resource is configured to engage in transparent content negotiation.
Common use: Content negotiation error
The method could not be performed because the server is unable to store the representation.
Common use: Disk full
The server detected an infinite loop while processing the request.
Common use: WebDAV infinite loop
Further extensions to the request are required for the server to fulfill it.
Common use: Extension required
The client needs to authenticate to gain network access.
Common use: Captive portal
Understanding HTTP Status Codes
HTTP status codes are three-digit numbers returned by a server in response to a client's request. They indicate whether the request succeeded, failed, or needs further action. Every web developer encounters these codes when building APIs, debugging errors, or configuring redirects. Codes are grouped by their first digit: 1xx informational, 2xx success, 3xx redirection, 4xx client error, and 5xx server error.
Most Common HTTP Status Codes
200 OK — The request succeeded. Used for successful GET, PUT, or PATCH. 201 Created — A resource was created, often after a POST. 301 Moved Permanently — Permanent redirect; update bookmarks. 302 Found — Temporary redirect. 404 Not Found — The requested resource does not exist. 500 Internal Server Error — The server encountered an unexpected condition.
REST API Best Practices
Use the correct status code for each response. Return 400 for malformed requests, 401 for unauthenticated access, 403 when the user lacks permission, and 429 when rate limits are exceeded. Proper status codes help API consumers handle errors programmatically and improve debugging. Search our reference to find the right code for your use case.
Related Tools
- JWT Decoder — Decode and inspect JWT tokens.
- JSON Formatter — Format and validate JSON responses.
- Regex Tester — Test regular expressions.
- All Free Tools — Calculators, generators, and utilities.