HTTP status codes

Look up what an HTTP response code means. Search by number, name or keyword, or filter by class: informational, success, redirection, client error and server error. Every code in the IANA registry is listed.

All

63 / 63

  • 100
    ContinueRFC 9110

    The request headers were received and the client should go on and send the body.

  • 101
    Switching ProtocolsRFC 9110

    The server agrees to switch to the protocol named in the Upgrade header, for example WebSocket.

  • 102
    ProcessingRFC 2518

    WebDAV: the server has accepted the request and is still working on it, so the client should not time out.

  • 103
    Early HintsRFC 8297

    Sent before the final response so the browser can start preloading resources named in Link headers.

  • 200
    OKRFC 9110

    The request succeeded. The body depends on the method: the resource for GET, the result for POST.

  • 201
    CreatedRFC 9110

    The request created a new resource. The Location header usually holds its address.

  • 202
    AcceptedRFC 9110

    The request was accepted for processing, but the work is not finished yet.

  • 203
    Non-Authoritative InformationRFC 9110

    The response is from a transforming proxy and may differ from what the origin server sent.

  • 204
    No ContentRFC 9110

    The request succeeded and there is no body to send back. Common for DELETE and for saves.

  • 205
    Reset ContentRFC 9110

    The request succeeded and the client should reset the view that sent it, such as clearing a form.

  • 206
    Partial ContentRFC 9110

    Only the byte range asked for with a Range header is sent. Used for resumable downloads and video seeking.

  • 207
    Multi-StatusRFC 4918

    WebDAV: the body holds separate status codes for several resources.

  • 208
    Already ReportedRFC 5842

    WebDAV: the members of this binding were already listed earlier in the response and are not repeated.

  • 226
    IM UsedRFC 3229

    The server fulfilled a GET using instance manipulations (delta encoding) applied to the current resource.

  • 300
    Multiple ChoicesRFC 9110

    There are several possible representations and the client may pick one. Rarely used in practice.

  • 301
    Moved PermanentlyRFC 9110

    The resource has a new permanent address in the Location header. Search engines transfer ranking to it.

  • 302
    FoundRFC 9110

    The resource is temporarily at another address. Clients may change a POST into a GET when following it.

  • 303
    See OtherRFC 9110

    The result is at another address and must be fetched with GET. Typical after a form POST.

  • 304
    Not ModifiedRFC 9110

    The cached copy is still valid, so no body is sent. Answer to a conditional request (If-None-Match, If-Modified-Since).

  • 305
    Use ProxyRFC 9110

    Deprecated: the resource had to be reached through a proxy. Clients no longer act on it.

  • 306
    (Unused)RFC 9110

    Reserved. It was used in an old draft and is no longer in use.

  • 307
    Temporary RedirectRFC 9110

    Like 302, but the client must repeat the request with the same method and body at the new address.

  • 308
    Permanent RedirectRFC 9110

    Like 301, but the client must repeat the request with the same method and body at the new address.

  • 400
    Bad RequestRFC 9110

    The server cannot process the request because it is malformed: bad syntax, invalid framing or invalid parameters.

  • 401
    UnauthorizedRFC 9110

    The request lacks valid credentials. The response carries a WWW-Authenticate header saying how to authenticate.

  • 402
    Payment RequiredRFC 9110

    Reserved for future use. Some APIs use it to signal a billing problem.

  • 403
    ForbiddenRFC 9110

    The server understood the request but refuses to allow it. Logging in again will not help.

  • 404
    Not FoundRFC 9110

    The server has no resource at this address, or does not want to say that it has.

  • 405
    Method Not AllowedRFC 9110

    The method is not supported for this resource. The Allow header lists the methods that are.

  • 406
    Not AcceptableRFC 9110

    No representation matches the Accept headers the client sent.

  • 407
    Proxy Authentication RequiredRFC 9110

    Like 401, but the client must first authenticate with the proxy.

  • 408
    Request TimeoutRFC 9110

    The server gave up waiting for the client to finish sending the request.

  • 409
    ConflictRFC 9110

    The request conflicts with the current state of the resource, for example an edit based on an old version.

  • 410
    GoneRFC 9110

    The resource used to exist and was removed on purpose, with no forwarding address.

  • 411
    Length RequiredRFC 9110

    The server needs a Content-Length header and the request did not have one.

  • 412
    Precondition FailedRFC 9110

    A condition in the request headers, such as If-Match, was not met.

  • 413
    Content Too LargeRFC 9110

    The request body is larger than the server is willing to process. Formerly called Payload Too Large.

  • 414
    URI Too LongRFC 9110

    The address is longer than the server is willing to interpret.

  • 415
    Unsupported Media TypeRFC 9110

    The server does not support the format of the request body (its Content-Type).

  • 416
    Range Not SatisfiableRFC 9110

    None of the ranges in the Range header overlap the resource.

  • 417
    Expectation FailedRFC 9110

    The server cannot meet the requirement in the Expect header.

  • 418
    I'm a teapotRFC 2324

    Defined as an April Fools' joke in the Hyper Text Coffee Pot Control Protocol (RFC 2324). The IANA registry lists it as unused; some servers still send it for fun or to turn bots away.

  • 421
    Misdirected RequestRFC 9110

    The request was sent to a server that cannot produce a response for this host and scheme.

  • 422
    Unprocessable ContentRFC 9110

    The syntax is correct but the server cannot process the content, usually because of validation errors. Formerly Unprocessable Entity.

  • 423
    LockedRFC 4918

    WebDAV: the source or destination resource is locked.

  • 424
    Failed DependencyRFC 4918

    WebDAV: the request failed because an earlier request it depended on failed.

  • 425
    Too EarlyRFC 8470

    The server will not risk processing a request that might be replayed, such as TLS early data.

  • 426
    Upgrade RequiredRFC 9110

    The client must switch to a different protocol, named in the Upgrade header, to continue.

  • 428
    Precondition RequiredRFC 6585

    The server requires the request to be conditional, to prevent lost updates.

  • 429
    Too Many RequestsRFC 6585

    The client sent too many requests in a given time (rate limiting). A Retry-After header may say when to try again.

  • 431
    Request Header Fields Too LargeRFC 6585

    A single header, or all headers together, are too large for the server.

  • 451
    Unavailable For Legal ReasonsRFC 7725

    The server cannot legally provide the resource, for example because of a court order or censorship.

  • 500
    Internal Server ErrorRFC 9110

    A generic error: the server hit an unexpected condition and could not complete the request.

  • 501
    Not ImplementedRFC 9110

    The server does not support the functionality needed, such as the request method.

  • 502
    Bad GatewayRFC 9110

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

  • 503
    Service UnavailableRFC 9110

    The server cannot handle the request right now, because of overload or maintenance. Retry-After may say when it will return.

  • 504
    Gateway TimeoutRFC 9110

    A gateway or proxy did not get a response from the upstream server in time.

  • 505
    HTTP Version Not SupportedRFC 9110

    The server does not support the HTTP version used in the request.

  • 506
    Variant Also NegotiatesRFC 2295

    Transparent content negotiation is misconfigured: the chosen variant is itself set up to negotiate.

  • 507
    Insufficient StorageRFC 4918

    WebDAV: the server cannot store what is needed to complete the request.

  • 508
    Loop DetectedRFC 5842

    WebDAV: the server found an infinite loop while processing the request.

  • 510
    Not ExtendedRFC 2774

    Obsolete: the request needed further extensions under the HTTP Extension Framework.

  • 511
    Network Authentication RequiredRFC 6585

    The client must authenticate to gain network access, as on a captive portal (hotel or airport Wi-Fi).

Runs in your browser: nothing you enter is sent anywhere.

How to use it

  1. Type a number (404), a name (gateway) or a keyword (redirect) in the search box. Several words must all match.
  2. Use the class buttons to see only one kind of response.
  3. Each entry shows the code, its official name, what it means, and the document that defines it.

How the classes work

Class Meaning Examples
1xx Informational: keep going 100, 101, 103
2xx Success 200, 201, 204
3xx Redirection: more action needed 301, 304, 308
4xx Client error 400, 404, 429
5xx Server error 500, 502, 503

Tips

Most codes are defined in RFC 9110 (HTTP Semantics), which replaced the older RFC 7231. When designing an API, choose the most specific code that fits: 201 after creating something, 204 when there is nothing to return, 422 for failed validation, and 429 with a Retry-After header for rate limits.

Frequently asked questions

What are the five classes of HTTP status codes?

1xx codes are informational, 2xx mean success, 3xx are redirects, 4xx mean the client made an error, and 5xx mean the server failed on a request that looked valid. The first digit alone tells you which kind of response you have.

What is the difference between 301 and 302 redirects?

301 says the move is permanent, so browsers and search engines should update their links to the new address. 302 says it is temporary, so the old address stays the main one. 307 and 308 are the strict versions that never change the request method.

What is the difference between 401 and 403?

401 means the request has no valid credentials, so logging in may fix it. 403 means the server knows who you are, or does not care, and refuses anyway, so new credentials will not help unless they belong to someone with permission.

Is 418 a real status code?

418 I'm a teapot comes from RFC 2324, the Hyper Text Coffee Pot Control Protocol, published as an April Fools' joke in 1998. The IANA registry keeps it reserved as unused, and the list shows it so you know what you are looking at.

Which codes are listed?

Every code in the IANA HTTP Status Code Registry between 100 and 511, including WebDAV ones such as 207 and 423. Unofficial codes used by single vendors, such as Cloudflare's 5xx extensions or nginx's 499, are not part of the registry and are not listed.

More in Developer

All tools in this category: Developer ·Updated November 3, 2026

Privacy choices

Google Analytics shows us which tools are used and whether they work. It may set cookies. Your choice is kept in this browser.