HTTP Status Reference
Search common registered HTTP response status codes and their standard meanings.
This tool handles input and primary processing in your browser and is designed not to send the input to QuickKit’s server.
| Code | Code / Reason phrase | Meaning | Class | Reference |
|---|---|---|---|---|
| 100 | 100ContinueInformationalRFC 9110 | Request can continue | Informational | RFC 9110 |
| 101 | 101Switching ProtocolsInformationalRFC 9110 | Protocol switch | Informational | RFC 9110 |
| 102 | 102ProcessingInformationalRFC 2518 | Request is being processed DetailsDefined for WebDAV in RFC 2518 and removed again by RFC 4918; the registry still lists it with RFC 2518. A final response is expected later. | Informational | RFC 2518 |
| 103 | 103Early HintsInformationalRFC 8297 | Preliminary response hints DetailsAn interim response. Its headers, such as a Link preload, are only hints; the server is likely to send a final response, which carries its own status and headers. | Informational | RFC 8297 |
| 104 | 104Upload Resumption SupportedInformationaldraft-ietf-httpbis-resumable-upload-05 (Temporary until 2026-11-13) | Upload resumption supported DetailsA temporary registration for the resumable uploads draft. It expires on 2026-11-13 unless extended, and the draft may still change. | Informational | draft-ietf-httpbis-resumable-upload-05 (Temporary until 2026-11-13) |
| 200 | 200OKSuccessRFC 9110 | Request succeeded DetailsSays only that the HTTP request succeeded. What the body means depends on the method and the application; an API may report an error inside a 200 body. What to check: Read the response body for an application-level result. | Success | RFC 9110 |
| 201 | 201CreatedSuccessRFC 9110 | Resource created | Success | RFC 9110 |
| 202 | 202AcceptedSuccessRFC 9110 | Request accepted DetailsThe request was accepted, but processing has not finished and may still be refused or fail. HTTP has no way to send the final status later. What to check: Look in the response for a status URL or job ID and check it later. | Success | RFC 9110 |
| 203 | 203Non-Authoritative InformationSuccessRFC 9110 | Non-authoritative metadata | Success | RFC 9110 |
| 204 | 204No ContentSuccessRFC 9110 | No response content | Success | RFC 9110 |
| 205 | 205Reset ContentSuccessRFC 9110 | Reset the document view | Success | RFC 9110 |
| 206 | 206Partial ContentSuccessRFC 9110 | Partial representation | Success | RFC 9110 |
| 207 | 207Multi-StatusSuccessRFC 4918 | Multiple operation statuses DetailsThe overall status of a WebDAV response that carries a separate status for each resource; some of those operations may have failed. What to check: Read the status of each response element in the body. | Success | RFC 4918 |
| 208 | 208Already ReportedSuccessRFC 5842 | Already reported | Success | RFC 5842 |
| 226 | 226IM UsedSuccessRFC 3229 | Instance manipulations applied | Success | RFC 3229 |
| 300 | 300Multiple ChoicesRedirectionRFC 9110 | Multiple representations | Redirection | RFC 9110 |
| 301 | 301Moved PermanentlyRedirectionRFC 9110 | Permanent new URL DetailsPermanent move to the URI in Location. For historical reasons a client may change POST to GET when following it; 308 does not allow that change. What to check: Check the Location header. | Redirection | RFC 9110 |
| 302 | 302FoundRedirectionRFC 9110 | Temporary different URL DetailsTemporary redirect to the URI in Location; keep using the original URI. For historical reasons a client may change POST to GET; with 307 the client must keep the method. What to check: Check the Location header. | Redirection | RFC 9110 |
| 303 | 303See OtherRedirectionRFC 9110 | Another URL via GET DetailsPoints to another resource holding the result, to be fetched with GET or HEAD; typical after a form POST. The new URI does not replace the original. | Redirection | RFC 9110 |
| 304 | 304Not ModifiedRedirectionRFC 9110 | Cached representation valid DetailsNot an error: the answer to a conditional GET or HEAD, saying the client's stored copy is still valid, so no body is sent. What to check: If an old version is shown, check the validators (ETag, Last-Modified) and the If-None-Match / If-Modified-Since request headers. | Redirection | RFC 9110 |
| 305 | 305Use ProxyRedirectionRFC 9110 | Use a proxy DetailsDeprecated since RFC 7231 (Appendix B). | Redirection | RFC 9110 |
| 306 | 306(Unused)RedirectionRFC 9110 | Unused | Redirection | RFC 9110 |
| 307 | 307Temporary RedirectRedirectionRFC 9110 | Temporary new URL DetailsTemporary redirect. Unlike 302, a client that follows it automatically must not change the request method. | Redirection | RFC 9110 |
| 308 | 308Permanent RedirectRedirectionRFC 9110 | Permanent new URL DetailsPermanent redirect. Unlike 301, it does not allow changing the request method from POST to GET. | Redirection | RFC 9110 |
| 400 | 400Bad RequestClient ErrorRFC 9110 | Invalid request | Client Error | RFC 9110 |
| 401 | 401UnauthorizedClient ErrorRFC 9110 | Authentication required DetailsDespite the name, this is about authentication: credentials are missing or were not accepted. The response must carry a WWW-Authenticate challenge. What to check: Check the WWW-Authenticate header and the credentials or token that were sent. | Client Error | RFC 9110 |
| 402 | 402Payment RequiredClient ErrorRFC 9110 | Payment required DetailsReserved for future use. There is no standard meaning, so any use is specific to the application. | Client Error | RFC 9110 |
| 403 | 403ForbiddenClient ErrorRFC 9110 | Request refused DetailsThe server understood the request but refuses it. A client should not automatically repeat it with the same credentials, and the refusal may have nothing to do with credentials. What to check: Look for a reason in the response body. | Client Error | RFC 9110 |
| 404 | 404Not FoundClient ErrorRFC 9110 | Target not found DetailsNothing was found, or the server prefers not to reveal that something exists; a server may hide a forbidden resource this way. It does not say whether the absence is temporary or permanent. What to check: Check the host, path and method of the request. | Client Error | RFC 9110 |
| 405 | 405Method Not AllowedClient ErrorRFC 9110 | Method not supported | Client Error | RFC 9110 |
| 406 | 406Not AcceptableClient ErrorRFC 9110 | No acceptable representation | Client Error | RFC 9110 |
| 407 | 407Proxy Authentication RequiredClient ErrorRFC 9110 | Proxy authentication required | Client Error | RFC 9110 |
| 408 | 408Request TimeoutClient ErrorRFC 9110 | Request timed out | Client Error | RFC 9110 |
| 409 | 409ConflictClient ErrorRFC 9110 | Resource state conflict | Client Error | RFC 9110 |
| 410 | 410GoneClient ErrorRFC 9110 | Target permanently unavailable | Client Error | RFC 9110 |
| 411 | 411Length RequiredClient ErrorRFC 9110 | Content-Length required | Client Error | RFC 9110 |
| 412 | 412Precondition FailedClient ErrorRFC 9110 | Request precondition false | Client Error | RFC 9110 |
| 413 | 413Content Too LargeClient ErrorRFC 9110 | Request content too large DetailsThe request content is larger than the server will process. Formerly named "Payload Too Large" (RFC 7231). What to check: A Retry-After header indicates that the condition is temporary and when to try again. | Client Error | RFC 9110 |
| 414 | 414URI Too LongClient ErrorRFC 9110 | Target URI too long | Client Error | RFC 9110 |
| 415 | 415Unsupported Media TypeClient ErrorRFC 9110 | Media type unsupported | Client Error | RFC 9110 |
| 416 | 416Range Not SatisfiableClient ErrorRFC 9110 | Requested range unavailable | Client Error | RFC 9110 |
| 417 | 417Expectation FailedClient ErrorRFC 9110 | Expectation not met | Client Error | RFC 9110 |
| 418 | 418(Unused)Client ErrorRFC 9110 | Unused DetailsReserved because the "I'm a teapot" code of the April 1 RFC 2324 was deployed as a joke so often. It has no standard meaning. | Client Error | RFC 9110 |
| 421 | 421Misdirected RequestClient ErrorRFC 9110 | Wrong destination server DetailsThe request reached a server that cannot answer for this URI, for example over a connection reused for a different host name. The client may retry over a new connection. | Client Error | RFC 9110 |
| 422 | 422Unprocessable ContentClient ErrorRFC 9110 | Instructions cannot be processed DetailsThe content type and syntax are fine, but the instructions in the body cannot be processed. Formerly named "Unprocessable Entity" (RFC 4918). | Client Error | RFC 9110 |
| 423 | 423LockedClient ErrorRFC 4918 | Resource locked | Client Error | RFC 4918 |
| 424 | 424Failed DependencyClient ErrorRFC 4918 | Dependent action failed | Client Error | RFC 4918 |
| 425 | 425Too EarlyClient ErrorRFC 8470 | Replay risk DetailsThe server is unwilling to risk processing a request that might be replayed. It concerns TLS early data, which the client or an intermediary on the way (signalled by the Early-Data header) may have used. Any retry must not be sent in early data. | Client Error | RFC 8470 |
| 426 | 426Upgrade RequiredClient ErrorRFC 9110 | Protocol upgrade required | Client Error | RFC 9110 |
| 428 | 428Precondition RequiredClient ErrorRFC 6585 | Conditional request required | Client Error | RFC 6585 |
| 429 | 429Too Many RequestsClient ErrorRFC 6585 | Request rate exceeded DetailsRate limiting: too many requests in a given time. What to check: A Retry-After header, if present, says how long to wait. | Client Error | RFC 6585 |
| 431 | 431Request Header Fields Too LargeClient ErrorRFC 6585 | Request headers too large | Client Error | RFC 6585 |
| 451 | 451Unavailable For Legal ReasonsClient ErrorRFC 7725 | Unavailable for legal reasons | Client Error | RFC 7725 |
| 500 | 500Internal Server ErrorServer ErrorRFC 9110 | Unexpected server condition DetailsA generic error for an unexpected server-side condition; the code alone does not tell the cause. What to check: Check the server or application logs at the time of the request. | Server Error | RFC 9110 |
| 501 | 501Not ImplementedServer ErrorRFC 9110 | Functionality unsupported | Server Error | RFC 9110 |
| 502 | 502Bad GatewayServer ErrorRFC 9110 | Invalid upstream response DetailsA gateway or proxy received an invalid response from an upstream server. The code alone does not show whether the cause lies in the upstream server, the path to it or the proxy itself, nor whether the request played a part. What to check: Check the proxy's error log and the state of the upstream server. | Server Error | RFC 9110 |
| 503 | 503Service UnavailableServer ErrorRFC 9110 | Temporarily unable to handle request DetailsTemporary overload or maintenance. Some overloaded servers refuse the connection instead of sending 503. What to check: A Retry-After header, if present, says when to retry. | Server Error | RFC 9110 |
| 504 | 504Gateway TimeoutServer ErrorRFC 9110 | Upstream response timed out DetailsA gateway or proxy did not get a timely response from the upstream server. The upstream may still be processing the request or may already have done so. What to check: Check the upstream response time and the proxy's timeout setting before retrying a request that changes data. | Server Error | RFC 9110 |
| 505 | 505HTTP Version Not SupportedServer ErrorRFC 9110 | HTTP version unsupported | Server Error | RFC 9110 |
| 506 | 506Variant Also NegotiatesServer ErrorRFC 2295 | Negotiation configuration error | Server Error | RFC 2295 |
| 507 | 507Insufficient StorageServer ErrorRFC 4918 | Unable to store representation | Server Error | RFC 4918 |
| 508 | 508Loop DetectedServer ErrorRFC 5842 | Infinite loop detected | Server Error | RFC 5842 |
| 510 | 510Not ExtendedServer ErrorRFC 2774 (Obsoleted) | Policy not fulfilled DetailsObsoleted: the HTTP Extension Framework of RFC 2774 was moved to Historic, and the registry marks the code as obsoleted. | Server Error | RFC 2774 (Obsoleted) |
| 511 | 511Network Authentication RequiredServer ErrorRFC 6585 | Network authentication required DetailsIntended for intercepting proxies, such as a captive portal on public Wi-Fi, to ask for a network login. Origin servers should not send it. | Server Error | RFC 6585 |
Curated reference; consult the relevant specification for full semantics.
How it works
A searchable, curated reference of common HTTP status codes registered by IANA or defined by the HTTP specifications (IANA registry and RFC 9110 checked 2026-10-15). Every code has a short English and Japanese meaning, and codes that are often misread, such as 202, 301/302 versus 307/308, 304, 401 versus 403, 404 and 502/504, have a note with what to check. Search by code, reason phrase, or words of the meaning, class or note in either language; an exact code opens its note.
A status code describes the class of a response; it does not by itself show an application's outcome or the root cause of an error. The notes list what can be checked, not a diagnosis.