HTTP Status Code Reference
Search or filter every common HTTP status code to see what it means and when it’s used.
Continue
The server has received the request headers and the client should proceed to send the request body.
Switching Protocols
The requester has asked the server to switch protocols, and the server agreed.
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, e.g. for preloading resources.
OK
The request succeeded. The meaning depends on the HTTP method used.
Created
The request succeeded and a new resource was created as a result.
Accepted
The request has been received but not yet acted upon.
Non-Authoritative Information
The returned metadata isn’t from the origin server but from a local or third-party copy.
No Content
There is no content to send, but the headers may be useful. The client may reuse its current view.
Reset Content
Tells the client to reset the document that sent this request.
Partial Content
Used when the Range header is sent to request only part of a resource.
Multiple Choices
The request has more than one possible response — the client should choose one.
Moved Permanently
The requested resource has been permanently moved to a new URL.
Found
The resource temporarily resides at a different URL; future requests should still use the original.
See Other
The response can be found at another URL, retrievable with a GET request.
Not Modified
The resource hasn’t changed since the last request — the client can use its cached version.
Temporary Redirect
Like 302, but the request method and body must not change when reissued.
Permanent Redirect
Like 301, but the request method and body must not change when reissued.
Bad Request
The server can’t process the request due to a client error, such as malformed syntax.
Unauthorized
Authentication is required and has either failed or not been provided.
Payment Required
Reserved for future use — originally intended for digital payment systems.
Forbidden
The client’s identity is known, but it doesn’t have permission to access the resource.
Not Found
The server can’t find the requested resource.
Method Not Allowed
The request method is known but not supported by the target resource.
Not Acceptable
No content matching the criteria in the request’s Accept headers is available.
Proxy Authentication Required
Authentication with a proxy server is required before the request can proceed.
Request Timeout
The server timed out waiting for the request.
Conflict
The request conflicts with the current state of the target resource.
Gone
The resource is permanently gone and no forwarding address is known.
Length Required
The server refuses the request because Content-Length wasn’t specified.
Precondition Failed
One or more conditions in the request headers evaluated to false.
Payload Too Large
The request body is larger than the server is willing or able to process.
URI Too Long
The requested URI is longer than the server is willing to interpret.
Unsupported Media Type
The media format of the request body isn’t supported by the server.
Range Not Satisfiable
The requested Range header value can’t be satisfied for the resource.
Expectation Failed
The expectation in the request’s Expect header couldn’t be met.
I'm a Teapot
An April Fools’ joke from RFC 2324 — the server refuses to brew coffee because it’s a teapot.
Unprocessable Entity
The request was well-formed but contains semantic errors and couldn’t be processed.
Too Early
The server is unwilling to process a request that might be replayed.
Upgrade Required
The client should switch to a different protocol, given in the Upgrade header.
Precondition Required
The origin server requires the request to be conditional, to prevent lost updates.
Too Many Requests
The client has sent too many requests in a given time — rate limiting.
Request Header Fields Too Large
The server won’t process the request because its header fields are too large.
Unavailable For Legal Reasons
The resource is unavailable due to a legal demand, such as government-mandated censorship.
Internal Server Error
The server encountered a situation it doesn’t know how to handle.
Not Implemented
The request method isn’t supported by the server and can’t be handled.
Bad Gateway
The server, acting as a gateway, got an invalid response from an upstream server.
Service Unavailable
The server isn’t ready to handle the request — often due to maintenance or overload.
Gateway Timeout
The server, acting as a gateway, didn’t get a response in time from an upstream server.
HTTP Version Not Supported
The HTTP version used in the request isn’t supported by the server.
Insufficient Storage
The server can’t 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, e.g. a captive portal.
How to use this tool
Search by status code number (e.g. 404) or by name (e.g. Not Found), or filter by category — 1xx informational, 2xx success, 3xx redirection, 4xx client errors, or 5xx server errors — to quickly find what a status code means and when an API or server would return it.
Related Tools
Related Blog Posts
The HTTP Status Codes You Will Actually Encounter (And What They Mean)
A practical guide to the HTTP status codes that come up constantly in real development work, grouped by what they actually tell you.
Read moreBest Free Tools Every Developer Should Bookmark
Five browser-based utilities worth bookmarking for everyday development tasks, and what each one is actually good for.
Read moreJSON vs XML: Which Data Format Should You Use in 2026?
A practical comparison of JSON and XML for APIs, config files, and data exchange — including where each format still wins.
Read more