HTTP status codes

Search any HTTP status code and read what it means and when it appears. Filter by family, from informational 1xx codes to server errors in 5xx.

  • Free
  • No sign-up
  • Runs in your browser
http-status-codes

CodeNameMeaning
100ContinueThe server has received the headers and the client can go on sending the body.
101Switching ProtocolsThe server agrees to change protocol as requested, for example to WebSocket.
102ProcessingThe server has accepted the request and is still working on it (WebDAV).
103Early HintsLets the browser start loading resources while the server prepares the final response.
200OKThe request succeeded. What the body holds depends on the method used.
201CreatedThe request succeeded and a new resource was created, typically after a POST or PUT.
202AcceptedThe request was accepted for processing, but the work is not finished yet.
203Non-Authoritative InformationThe response comes from a proxy that changed the original answer.
204No ContentThe request succeeded and there is nothing to send back. Common after a DELETE.
205Reset ContentThe request succeeded and the client should reset the view, for example clear a form.
206Partial ContentOnly the part of the resource that was asked for with a Range header is returned.
300Multiple ChoicesThere are several possible responses and the client has to choose one.
301Moved PermanentlyThe resource has a new permanent address. Search engines transfer the ranking to it.
302FoundThe resource is temporarily at another address. The original address stays valid.
303See OtherThe response is at another address and should be fetched with GET, usual after a form POST.
304Not ModifiedThe cached copy is still valid, so the server sends no body. It saves bandwidth.
307Temporary RedirectLike 302, but the client must repeat the request with the same method and body.
308Permanent RedirectLike 301, but the client must repeat the request with the same method and body.
400Bad RequestThe server cannot understand the request: malformed syntax, invalid data or a broken cookie.
401UnauthorizedAuthentication is required or has failed. Log in, or check the credentials or token.
402Payment RequiredReserved for digital payment schemes. Some services use it when a plan or quota is exhausted.
403ForbiddenThe server understood the request but refuses it. You are identified but not allowed.
404Not FoundThe address does not exist on the server. It may be mistyped, moved or deleted.
405Method Not AllowedThe resource exists but does not accept that method, for example a POST to a read-only address.
406Not AcceptableThe server cannot produce a response in any of the formats the client accepts.
407Proxy Authentication RequiredLike 401, but the authentication is demanded by a proxy.
408Request TimeoutThe server waited too long for the client to finish sending the request.
409ConflictThe request clashes with the current state of the resource, such as an edit conflict or a duplicate.
410GoneThe resource used to exist and has been removed for good. Stronger than 404.
411Length RequiredThe server needs a Content-Length header in the request.
412Precondition FailedA condition in the request headers, such as If-Match, was not met.
413Content Too LargeThe request body is larger than the server accepts, common with file uploads.
414URI Too LongThe address is longer than the server is willing to process.
415Unsupported Media TypeThe server does not accept the format of the data sent, for example the wrong Content-Type.
416Range Not SatisfiableThe requested byte range lies outside the size of the resource.
417Expectation FailedThe server cannot meet the requirement of the Expect header.
418I'm a teapotA joke from the 1998 April Fools RFC. Some services use it to reject bots.
421Misdirected RequestThe request was sent to a server that cannot produce a response for it.
422Unprocessable ContentThe syntax is right but the content is not valid, typical of failed form or API validation.
423LockedThe resource is locked and cannot be changed right now (WebDAV).
424Failed DependencyThe request failed because an earlier request it depended on failed (WebDAV).
425Too EarlyThe server refuses to process a request that could be replayed.
426Upgrade RequiredThe client must switch to another protocol, given in the Upgrade header.
428Precondition RequiredThe server requires the request to be conditional, to avoid overwriting changes.
429Too Many RequestsRate limit reached. Wait, and check the Retry-After header if it is present.
431Request Header Fields Too LargeThe headers, often the cookies, are too big for the server.
451Unavailable For Legal ReasonsAccess is denied because of a legal demand, such as a court order.
500Internal Server ErrorA generic failure on the server: an unhandled error in the code or a bad configuration.
501Not ImplementedThe server does not support what the request needs, such as an unknown method.
502Bad GatewayA gateway or proxy got an invalid answer from the server behind it.
503Service UnavailableThe server is overloaded or down for maintenance. It is usually temporary.
504Gateway TimeoutA gateway or proxy waited too long for the server behind it to answer.
505HTTP Version Not SupportedThe server does not support the HTTP version used in the request.
507Insufficient StorageThe server has no room left to store what the request needs (WebDAV).
508Loop DetectedThe server found an infinite loop while processing the request (WebDAV).
511Network Authentication RequiredThe client must log in to the network first, as on the captive portal of a public Wi-Fi.

Everything on this page works in your browser.

How it works

Search the code

Type 404, a word such as redirect, or part of the name.

Filter by family

Choose 2xx, 3xx, 4xx or 5xx to see one family at a time.

Read the meaning

Each code has a short explanation and its usual cause.

What an HTTP status code tells you

Every time a browser, an app or a script asks a server for something, the server answers with a three-digit status code before anything else. It says whether the request worked, whether the thing has moved, or who is at fault when it failed. Knowing them makes it much faster to debug a broken page, an API that returns errors or a link that does not load, and it matters for search engines, which use these codes to decide what to keep in their index.

The five families

  • 1xx, informational: the request was received and the process continues. You rarely see them.
  • 2xx, success: the request worked. 200 is the normal answer, 201 means something was created and 204 means success with nothing to return.
  • 3xx, redirection: what you asked for is elsewhere. 301 and 308 are permanent, 302 and 307 are temporary, and 304 says the cached copy is still good.
  • 4xx, client error: the problem is in the request. 404 is the famous one, and 401, 403 and 429 are the other ones you meet most often.
  • 5xx, server error: the request was fine, the server failed. 500 is a generic fault, 502 and 504 point to a problem between servers, and 503 means the service is temporarily unavailable.

Pairs that get confused

401 and 403. With 401 the server does not know who you are, so log in. With 403 it knows and the answer is no. 301 and 302. Use 301 when a page has moved for good, because search engines transfer its ranking to the new address. Use 302 for a temporary detour. 404 and 410. A 404 says the page is not there, and a 410 says it was removed on purpose and will not return, which search engines process a little faster. 502, 503 and 504. A 502 is a bad reply from a server behind a gateway, a 504 is no reply in time, and a 503 is a service that is overloaded or in maintenance.

Status codes and SEO

Search engines look at status codes to decide what to do with a page. A 200 is indexed, a 301 passes the ranking to the new address, a 404 or 410 is removed over time, and a run of 5xx errors can make a crawler slow down or stop visiting. A page that shows an error message but returns 200, known as a soft 404, confuses crawlers, so an error page should return the matching code.

What this list is

It covers the codes in the HTTP standards and the common WebDAV ones. Some services use their own codes, such as those in the 520 range from some content delivery networks, that are not in the standard and are not listed. The explanations are simplified, so for a protocol detail check the official specification.

Frequently asked questions

What does a 404 error mean?
The server could not find what was asked for at that address. The link may be mistyped, or the page may have been moved or deleted.
What is the difference between 301 and 302?
A 301 is a permanent redirect and passes search ranking to the new address. A 302 is temporary and the original address stays valid.
What is the difference between 401 and 403?
401 means you need to log in or your credentials failed. 403 means the server knows who you are and still refuses the request.
What does 502 Bad Gateway mean?
A gateway or proxy received an invalid answer from the server behind it. It is usually a problem on the server side, often temporary.
What does 429 Too Many Requests mean?
You sent more requests than the service allows in a period. Wait a while before trying again and check the Retry-After header.
Which status code should a working page return?
200 OK. A page that displays an error but returns 200 is a soft 404 and can confuse search engines.