HTTP status codes are the three-digit numbers a web server returns with every response to tell the browser what happened. The first digit sets the class: 1xx informational, 2xx success, 3xx redirect, 4xx you (the client) made an error, 5xx the server made an error. Here is the full reference for every code you are likely to meet, grouped by class.

📄 Download the printable HTTP status codes (PDF)

A one-page quick reference to keep or print. → Download the HTTP status codes cheat sheet (PDF)

1xx Informational

Code Name Meaning
100 Continue Server received the request headers; the client should send the body.
101 Switching Protocols Server is switching protocols as requested (e.g. to WebSocket).
103 Early Hints Preload hints sent before the final response.

2xx Success

Code Name Meaning
200 OK The request succeeded. The standard "everything worked" response.
201 Created The request succeeded and created a new resource.
202 Accepted The request was accepted for processing but is not complete.
204 No Content Success, but there is no body to return.
206 Partial Content Success for a range request (e.g. resumable downloads, video seeking).

3xx Redirection

Code Name Meaning
301 Moved Permanently The resource has a new permanent URL; update your links. Passes SEO signals.
302 Found Temporary redirect; the URL may change again, so keep using the original.
303 See Other Redirect to another URL, fetched with GET (used after a POST).
304 Not Modified The cached copy is still valid; the client can reuse it.
307 Temporary Redirect Like 302 but the method (POST, etc.) must not change.
308 Permanent Redirect Like 301 but the method must not change.

4xx Client errors

Code Name Meaning
400 Bad Request The server could not understand the request (malformed syntax or params).
401 Unauthorized Authentication is required or has failed. You are not logged in.
403 Forbidden You are authenticated but not allowed to access this resource.
404 Not Found The resource does not exist at this URL. The most familiar error.
405 Method Not Allowed The HTTP method (GET/POST/...) is not supported for this resource.
406 Not Acceptable The server cannot produce a response matching the Accept headers.
408 Request Timeout The client took too long to send the request.
409 Conflict The request conflicts with the current state (e.g. an edit collision).
410 Gone The resource was intentionally and permanently removed.
413 Payload Too Large The request body is larger than the server will accept.
415 Unsupported Media Type The body format (Content-Type) is not supported.
418 I'm a teapot An April Fools joke code from RFC 2324; sometimes used as a placeholder.
422 Unprocessable Content The syntax is fine but the data fails validation. Common in APIs.
429 Too Many Requests You are being rate-limited; slow down and retry later.

5xx Server errors

Code Name Meaning
500 Internal Server Error A generic server-side failure. Something broke on the server.
501 Not Implemented The server does not support the functionality to fulfil the request.
502 Bad Gateway A gateway or proxy got an invalid response from the upstream server.
503 Service Unavailable The server is down, overloaded or in maintenance. Usually temporary.
504 Gateway Timeout A gateway or proxy did not get a response from upstream in time.
507 Insufficient Storage The server is out of storage to complete the request (WebDAV).

The ones you will actually hit

Most of the time you only meet a handful: 200 (OK), 301 (permanent redirect), 302 (temporary redirect), 304 (cached, not modified), 400 (bad request), 401 (not logged in), 403 (forbidden), 404 (not found), 429 (rate limited), 500 (server error), 502 (bad gateway) and 503 (service unavailable). The 4xx codes mean the request was wrong; the 5xx codes mean the server failed.

Frequently asked questions

What is an HTTP status code? A three-digit number a server sends with every HTTP response to indicate the result. 2xx means success, 3xx a redirect, 4xx a client error, and 5xx a server error.

What is the difference between a 502 and a 503 error? A 502 Bad Gateway means a proxy or gateway received an invalid response from the upstream server. A 503 Service Unavailable means the server itself is down, overloaded or in maintenance, usually temporarily.

What does a 401 vs 403 error mean? 401 Unauthorized means you are not authenticated (not logged in, or credentials failed). 403 Forbidden means you are authenticated but do not have permission to access the resource.

What is the difference between a 301 and a 302 redirect? A 301 is permanent: the resource has moved for good, update your links, and it passes SEO ranking signals. A 302 is temporary: keep using the original URL because it may return.

Is a 200 status code good? Yes. 200 OK is the standard "the request succeeded" response. Other 2xx codes (201 Created, 204 No Content, 206 Partial Content) also indicate success.