Developer Tools
HTTP Status Codes Reference
Search every HTTP status code from 100 to 511 with plain-language explanations, categories, and links to the specs.
61 status codes
- 100ContinueRFC 9110 · MDN
The server received the request headers; the client should send the body.
- 101Switching ProtocolsRFC 9110 · MDN
The server is switching protocols as requested, for example to WebSocket.
- 102ProcessingRFC 2518 · MDN
The server is still processing a long WebDAV request; no response yet.
- 103Early HintsRFC 8297 · MDN
Preliminary headers so the browser can start preloading resources early.
The request succeeded. The body contains the requested resource or result.
The request succeeded and a new resource was created, usually after POST.
- 202AcceptedRFC 9110 · MDN
The request was accepted for processing, but the work isn't finished yet.
- 203Non-Authoritative InformationRFC 9110 · MDN
Success, but the response was modified by a proxy from the original.
Success with no response body, common for DELETE or saved forms.
- 205Reset ContentRFC 9110 · MDN
Success; the client should reset the form or view that sent the request.
- 206Partial ContentRFC 9110 · MDN
Only part of the resource is returned, as asked for with a Range header.
- 207Multi-StatusRFC 4918 · MDN
WebDAV response containing separate statuses for multiple resources.
- 208Already ReportedRFC 5842 · MDN
WebDAV members were already listed earlier in this response.
- 226IM UsedRFC 3229 · MDN
The server applied instance manipulations (delta encoding) to the response.
- 300Multiple ChoicesRFC 9110 · MDN
The resource has several representations to choose from.
The resource moved permanently; update links and bookmarks to the new URL.
The resource is temporarily at another URL; keep using the original.
- 303See OtherRFC 9110 · MDN
Fetch the result from another URL with GET, often after a form POST.
The cached copy is still valid, so no body is sent.
- 307Temporary RedirectRFC 9110 · MDN
Temporary redirect that keeps the same method and body.
- 308Permanent RedirectRFC 9110 · MDN
Permanent redirect that keeps the same method and body.
The server can't process the request because it is malformed or invalid.
Authentication is required or the credentials provided are invalid.
- 402Payment RequiredRFC 9110 · MDN
Reserved for payments; some APIs use it when a plan or quota requires payment.
The server understood the request but refuses to allow it.
The server can't find the requested resource.
The HTTP method isn't supported for this resource.
- 406Not AcceptableRFC 9110 · MDN
No representation matches the Accept headers sent by the client.
- 407Proxy Authentication RequiredRFC 9110 · MDN
The client must authenticate with the proxy first.
- 408Request TimeoutRFC 9110 · MDN
The server timed out waiting for the client to finish the request.
The request conflicts with the current state of the resource.
- 410GoneRFC 9110 · MDN
The resource was permanently removed and won't come back.
- 411Length RequiredRFC 9110 · MDN
The server requires a Content-Length header.
- 412Precondition FailedRFC 9110 · MDN
A precondition in the request headers, such as If-Match, failed.
- 413Content Too LargeRFC 9110 · MDN
The request body is larger than the server allows.
- 414URI Too LongRFC 9110 · MDN
The URL is longer than the server is willing to handle.
- 415Unsupported Media TypeRFC 9110 · MDN
The server doesn't support the format of the request body.
- 416Range Not SatisfiableRFC 9110 · MDN
The requested Range can't be satisfied by the resource.
- 417Expectation FailedRFC 9110 · MDN
The server can't meet the requirement in the Expect header.
- 418I'm a teapotRFC 2324 · MDN
An April Fools' joke: the server is a teapot and refuses to brew coffee.
- 421Misdirected RequestRFC 9110 · MDN
The request reached a server that can't answer for this host.
The request is well-formed but contains semantic or validation errors.
- 423LockedRFC 4918 · MDN
The WebDAV resource is locked.
- 424Failed DependencyRFC 4918 · MDN
The request failed because a request it depended on failed.
- 425Too EarlyRFC 8470 · MDN
The server won't process a request that might be replayed.
- 426Upgrade RequiredRFC 9110 · MDN
The client must switch to another protocol, such as TLS or HTTP/2.
- 428Precondition RequiredRFC 6585 · MDN
The server requires a conditional request to avoid lost updates.
The client sent too many requests in a given time (rate limiting).
- 431Request Header Fields Too LargeRFC 6585 · MDN
The request headers, or a single header, are too large.
- 451Unavailable For Legal ReasonsRFC 7725 · MDN
The resource is unavailable for legal reasons, such as a court order.
The server hit an unexpected error and couldn't complete the request.
- 501Not ImplementedRFC 9110 · MDN
The server doesn't support the functionality needed for this request.
A gateway or proxy got an invalid response from the upstream server.
The server is temporarily overloaded or down for maintenance.
A gateway or proxy didn't get a response from upstream in time.
- 505HTTP Version Not SupportedRFC 9110 · MDN
The server doesn't support the HTTP version used in the request.
- 506Variant Also NegotiatesRFC 2295 · MDN
Content negotiation is misconfigured on the server.
- 507Insufficient StorageRFC 4918 · MDN
The server can't store what is needed to complete the request.
- 508Loop DetectedRFC 5842 · MDN
The server detected an infinite loop while processing the request.
- 510Not ExtendedRFC 2774 · MDN
The server requires further extensions to fulfil the request.
- 511Network Authentication RequiredRFC 6585 · MDN
The client must authenticate to gain network access, e.g. a Wi-Fi portal.
What is this tool?
Every HTTP response carries a three-digit status code that tells the client what happened. Search by number or name, filter by class, and read what each code means and when to use it — from 200 OK and 301 redirects to 404, 429, and 503.
Status codes are grouped by their first digit: 2xx means success, 3xx means the client must do something else (usually follow a redirect), 4xx means the request was wrong, and 5xx means the server failed.
The list follows RFC 9110 (HTTP Semantics) and the other RFCs that registered extra codes, such as 429 Too Many Requests (RFC 6585) and 451 Unavailable For Legal Reasons (RFC 7725).
How to use the HTTP Status Codes
- Type a code (such as 404) or a word (such as redirect) into the search box.
- Filter by class: 1xx informational, 2xx success, 3xx redirection, 4xx client errors, or 5xx server errors.
- Tick “Most common only” to see the codes you'll meet most often.
- Copy a code and its name, or open the MDN page for the full details.
Examples
Redirects
301 and 308 are permanent; 302, 303, and 307 are temporary. 307 and 308 keep the original method and body.
Frequently asked questions
What's the difference between 401 and 403?
401 Unauthorized means you aren't authenticated (log in or send a valid token). 403 Forbidden means the server knows who you are but you aren't allowed to do this.
Should I use 301 or 302 for a redirect?
Use 301 (or 308) when the move is permanent, so search engines transfer rankings to the new URL. Use 302 (or 307) for temporary redirects.
When should an API return 422?
When the request is valid JSON (or form data) but fails validation — for example a missing required field or an invalid email. Use 400 for malformed requests.
What does 503 Service Unavailable mean?
The server is temporarily unable to handle requests, often because of maintenance or overload. A Retry-After header can tell clients when to try again.
Want more power later?
Premium tools, higher limits, and API access are on the roadmap. V1 stays free and private in your browser.