HTTP Status Codes

Every common HTTP status code explained, informational (1xx), success (2xx), redirection (3xx), client errors (4xx), and server errors (5xx), with what each one means.

HTTP status codes are three-digit numbers a server returns to describe the result of a request. The first digit sets the category, from informational (1xx) through success (2xx), redirection (3xx), client errors (4xx), and server errors (5xx).

1xx, Informational

The request was received and the process is continuing.

CodeNameMeaning
100ContinueKeep sending the request body.
101Switching ProtocolsServer agrees to switch protocols (e.g. to WebSocket).
103Early HintsPreload hints sent before the final response.

2xx, Success

The request was received, understood, and accepted.

CodeNameMeaning
200OKStandard success response.
201CreatedA new resource was created (e.g. after POST).
202AcceptedAccepted for processing, but not yet done.
204No ContentSuccess, but there is nothing to return.
206Partial ContentPartial response for a range request.

3xx, Redirection

Further action is needed to complete the request.

CodeNameMeaning
301Moved PermanentlyResource has a new permanent URL.
302FoundTemporary redirect to another URL.
304Not ModifiedCached version is still valid; use it.
307Temporary RedirectLike 302 but keeps the HTTP method.
308Permanent RedirectLike 301 but keeps the HTTP method.

4xx, Client errors

The request was malformed or not allowed.

CodeNameMeaning
400Bad RequestThe server could not understand the request.
401UnauthorizedAuthentication is required or has failed.
403ForbiddenAuthenticated, but not allowed to access this.
404Not FoundThe resource does not exist.
405Method Not AllowedThe HTTP method is not supported here.
409ConflictRequest conflicts with the current state.
410GoneThe resource is permanently removed.
418I'm a teapotAn April Fools joke from RFC 2324.
422Unprocessable ContentWell-formed but semantically invalid.
429Too Many RequestsRate limit exceeded; slow down.

5xx, Server errors

The server failed to fulfil a valid request.

CodeNameMeaning
500Internal Server ErrorA generic, unexpected server failure.
501Not ImplementedThe server does not support this feature.
502Bad GatewayAn upstream server sent an invalid response.
503Service UnavailableServer is overloaded or down for maintenance.
504Gateway TimeoutAn upstream server did not respond in time.

Rule of thumb: 2xx means it worked, 3xx means look elsewhere, 4xx means you (the client) did something wrong, and 5xx means the server did. A 401 means "who are you?", while a 403 means "I know who you are, and no".

What this does

An HTTP status codes reference explains every common code — informational (1xx), success (2xx), redirection (3xx), client errors (4xx), and server errors (5xx).

How to use it

  1. Find a code by its number.
  2. Read what it means.
  3. Note its category.
  4. Copy the code or name with one tap.

Example

404 means the requested resource was not found.

Sources & methodology

Last updated .

Frequently asked questions

What do the code categories mean?

2xx means success, 3xx means redirection (look elsewhere), 4xx means a client error (your request was wrong), and 5xx means a server error.

What’s the difference between 401 and 403?

A 401 Unauthorized means "who are you?", authentication is needed or failed. A 403 Forbidden means "I know who you are, and you are not allowed".

When should I use 301 vs 302?

Use 301 Moved Permanently when a URL has changed for good (it transfers SEO value); use 302 Found for a temporary redirect.