TF

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.

  • 200OKCommonRFC 9110 · MDN

    The request succeeded. The body contains the requested resource or result.

  • 201CreatedCommonRFC 9110 · MDN

    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.

  • 204No ContentCommonRFC 9110 · MDN

    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.

  • 301Moved PermanentlyCommonRFC 9110 · MDN

    The resource moved permanently; update links and bookmarks to the new URL.

  • 302FoundCommonRFC 9110 · MDN

    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.

  • 304Not ModifiedCommonRFC 9110 · MDN

    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.

  • 400Bad RequestCommonRFC 9110 · MDN

    The server can't process the request because it is malformed or invalid.

  • 401UnauthorizedCommonRFC 9110 · MDN

    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.

  • 403ForbiddenCommonRFC 9110 · MDN

    The server understood the request but refuses to allow it.

  • 404Not FoundCommonRFC 9110 · MDN

    The server can't find the requested resource.

  • 405Method Not AllowedCommonRFC 9110 · MDN

    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.

  • 409ConflictCommonRFC 9110 · MDN

    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.

  • 422Unprocessable ContentCommonRFC 9110 · MDN

    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.

  • 429Too Many RequestsCommonRFC 6585 · MDN

    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.

  • 500Internal Server ErrorCommonRFC 9110 · MDN

    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.

  • 502Bad GatewayCommonRFC 9110 · MDN

    A gateway or proxy got an invalid response from the upstream server.

  • 503Service UnavailableCommonRFC 9110 · MDN

    The server is temporarily overloaded or down for maintenance.

  • 504Gateway TimeoutCommonRFC 9110 · MDN

    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

  1. Type a code (such as 404) or a word (such as redirect) into the search box.
  2. Filter by class: 1xx informational, 2xx success, 3xx redirection, 4xx client errors, or 5xx server errors.
  3. Tick “Most common only” to see the codes you'll meet most often.
  4. 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.