FREE TOOL · RUNS IN YOUR BROWSER

HTTP status codes reference

HTTP status codes are three-digit numbers a server returns to say how a request went: 1xx informational, 2xx success, 3xx redirection, 4xx client error and 5xx server error. This page lists every code the IANA registry assigns, each with its official reason phrase, the RFC that defines it and a one-line meaning.

Source: IANA HTTP Status Code Registry, checked 2026-10-21. Unassigned numbers are not listed.

1xx

Informational: the request was received and processing continues.

CodeReason phraseMeaningDefined in
100ContinueThe server has received the request headers and the client should send the body.RFC 9110, Section 15.2.1
101Switching ProtocolsThe server is switching to the protocol the client asked for in its Upgrade header, such as WebSocket.RFC 9110, Section 15.2.2
102ProcessingA WebDAV server has accepted the request and is still working on it.RFC 2518
103Early HintsHeaders, usually Link preloads, sent before the final response so the client can start fetching resources early.RFC 8297
104Upload Resumption Supported (TEMPORARY - registered 2024-11-13, extension registered 2025-09-15, expires 2026-11-13)The server supports resumable uploads for this request; a temporary registration tied to an Internet-Draft.draft-ietf-httpbis-resumable-upload-05

2xx

Successful: the request was received, understood and accepted.

CodeReason phraseMeaningDefined in
200OKThe request succeeded.RFC 9110, Section 15.3.1
201CreatedThe request succeeded and created a new resource, usually named in the Location header.RFC 9110, Section 15.3.2
202AcceptedThe request was accepted for processing, which has not finished yet.RFC 9110, Section 15.3.3
203Non-Authoritative InformationThe request succeeded, but a proxy modified the content returned by the origin.RFC 9110, Section 15.3.4
204No ContentThe request succeeded and there is no content to send back.RFC 9110, Section 15.3.5
205Reset ContentThe request succeeded and the client should reset the document view, such as clearing a form.RFC 9110, Section 15.3.6
206Partial ContentThe server is returning only the byte range the client asked for with a Range header.RFC 9110, Section 15.3.7
207Multi-StatusA WebDAV response carrying a separate status for each of several resources.RFC 4918
208Already ReportedA WebDAV binding member was already listed earlier in the same multi-status response.RFC 5842
226IM UsedThe response is the result of instance manipulations (a delta) applied to the current resource.RFC 3229

3xx

Redirection: the client must take further action to complete the request.

CodeReason phraseMeaningDefined in
300Multiple ChoicesThe resource has several representations and the client may choose one.RFC 9110, Section 15.4.1
301Moved PermanentlyThe resource has a new permanent URL; clients may change POST to GET when following it.RFC 9110, Section 15.4.2
302FoundThe resource is temporarily at another URL; clients may change POST to GET when following it.RFC 9110, Section 15.4.3
303See OtherThe client should GET another URL, typically after a form submission.RFC 9110, Section 15.4.4
304Not ModifiedA conditional request found no change since the cached copy, so the client can reuse it.RFC 9110, Section 15.4.5
305Use ProxyDeprecated: it once told the client to repeat the request through a proxy.RFC 9110, Section 15.4.6
306(Unused)Reserved; it was used in an earlier draft and is no longer used.RFC 9110, Section 15.4.7
307Temporary RedirectThe resource is temporarily at another URL and the client must repeat the same method there.RFC 9110, Section 15.4.8
308Permanent RedirectThe resource has a new permanent URL and the client must repeat the same method there.RFC 9110, Section 15.4.9

4xx

Client error: the request is wrong or cannot be fulfilled as sent.

CodeReason phraseMeaningDefined in
400Bad RequestThe server will not process the request because it is malformed or invalid.RFC 9110, Section 15.5.1
401UnauthorizedThe request lacks valid authentication credentials for the resource.RFC 9110, Section 15.5.2
402Payment RequiredReserved for future use; some APIs use it when a plan or quota needs payment.RFC 9110, Section 15.5.3
403ForbiddenThe server understood the request but refuses to fulfil it, whoever is asking.RFC 9110, Section 15.5.4
404Not FoundThe server has no current representation of the requested resource.RFC 9110, Section 15.5.5
405Method Not AllowedThe resource exists but does not support this method; the Allow header lists the ones it does.RFC 9110, Section 15.5.6
406Not AcceptableNo representation matches what the request’s Accept headers asked for.RFC 9110, Section 15.5.7
407Proxy Authentication RequiredThe client must authenticate with the proxy before the request can continue.RFC 9110, Section 15.5.8
408Request TimeoutThe server did not receive a complete request in the time it was prepared to wait.RFC 9110, Section 15.5.9
409ConflictThe request conflicts with the current state of the resource, such as an edit conflict.RFC 9110, Section 15.5.10
410GoneThe resource has been removed permanently and will not come back.RFC 9110, Section 15.5.11
411Length RequiredThe server requires a Content-Length header on this request.RFC 9110, Section 15.5.12
412Precondition FailedA condition in the request headers, such as If-Match, evaluated to false.RFC 9110, Section 15.5.13
413Content Too LargeThe request body is larger than the server is willing to process.RFC 9110, Section 15.5.14
414URI Too LongThe request target URL is longer than the server is willing to interpret.RFC 9110, Section 15.5.15
415Unsupported Media TypeThe request body is in a format the resource does not accept.RFC 9110, Section 15.5.16
416Range Not SatisfiableNone of the byte ranges in the Range header overlap the resource.RFC 9110, Section 15.5.17
417Expectation FailedThe server cannot meet the request’s Expect header.RFC 9110, Section 15.5.18
418(Unused)Reserved because of the 1998 April Fools’ “I’m a teapot” text; not to be assigned.RFC 9110, Section 15.5.19
421Misdirected RequestThe request reached a server that cannot answer for this scheme and host.RFC 9110, Section 15.5.20
422Unprocessable ContentThe request is well-formed but its content fails validation.RFC 9110, Section 15.5.21
423LockedThe WebDAV resource is locked.RFC 4918
424Failed DependencyThe WebDAV method failed because an action it depended on failed.RFC 4918
425Too EarlyThe server will not risk processing a request that might be replayed from TLS early data.RFC 8470
426Upgrade RequiredThe client must switch to the protocol named in the Upgrade header.RFC 9110, Section 15.5.22
428Precondition RequiredThe server requires the request to be conditional, to prevent lost updates.RFC 6585
429Too Many RequestsThe client sent too many requests in a given time; Retry-After may say when to try again.RFC 6585
431Request Header Fields Too LargeOne header, or all of them together, is too large for the server.RFC 6585
451Unavailable For Legal ReasonsThe resource cannot be served because of a legal demand.RFC 7725

5xx

Server error: the server failed to fulfil a valid request.

CodeReason phraseMeaningDefined in
500Internal Server ErrorThe server hit an unexpected condition that stopped it from fulfilling the request.RFC 9110, Section 15.6.1
501Not ImplementedThe server does not support the functionality the request needs, such as the method.RFC 9110, Section 15.6.2
502Bad GatewayA gateway or proxy got an invalid response from the upstream server.RFC 9110, Section 15.6.3
503Service UnavailableThe server is temporarily overloaded or down for maintenance; Retry-After may say for how long.RFC 9110, Section 15.6.4
504Gateway TimeoutA gateway or proxy did not get a response from the upstream server in time.RFC 9110, Section 15.6.5
505HTTP Version Not SupportedThe server does not support the major HTTP version of the request.RFC 9110, Section 15.6.6
506Variant Also NegotiatesTransparent content negotiation is misconfigured into a loop on the server.RFC 2295
507Insufficient StorageThe WebDAV server cannot store what it needs to complete the request.RFC 4918
508Loop DetectedThe WebDAV server found an infinite loop while processing the request.RFC 5842
510Not Extended (OBSOLETED)Obsolete: it said the request needed further extensions, from an experiment now marked historic.RFC 2774; Status change of HTTP experiments to Historic
511Network Authentication RequiredThe client must authenticate to gain network access, as with a captive portal.RFC 6585

Questions

What is the difference between 401 and 403?

401 Unauthorized means the request has no valid credentials, so authenticating may help. 403 Forbidden means the server understood who is asking and refuses anyway, so new credentials will not change the answer.

Should I use 301 or 308 for a permanent redirect?

Both are permanent. A client may change a POST into a GET when it follows a 301, but must repeat the original method on a 308, so 308 is the safe choice for anything that is not a plain GET.

Is 418 I’m a teapot a real status code?

No. The registry lists 418 as unused: it comes from a 1998 April Fools’ RFC, and RFC 9110 reserved the number so it would not be assigned to anything real.

When should an API return 429?

When a client has sent too many requests in a time window. Send a Retry-After header with the number of seconds to wait, as the upAPI free tools do.

More free tools

For data that has to be fetched, such as a page’s Open Graph tags or a sitemap’s URLs, the upAPI free tools run without a key too.