Navigation
Cheat Sheet · Free Reference

HTTP Status Codes Cheat Sheet

Complete reference of all standard HTTP response status codes with names and descriptions.
Searchable, categorized by class, always up to date.

1xx Informational

The request was received, continuing process. These interim responses indicate that the client should continue the request or ignore the response if already finished.

CodeNameDescription
100ContinueThe server has received the request headers and the client should proceed to send the request body.
101Switching ProtocolsThe server is switching protocols as requested by the client via the Upgrade header (e.g., switching to WebSocket).
102ProcessingThe server has received and is processing the request, but no response is available yet (WebDAV).
103Early HintsUsed to return some response headers before the final HTTP message, allowing the browser to preload resources.

2xx Success

The request was successfully received, understood, and accepted.

CodeNameDescription
200OKThe request succeeded. The meaning depends on the HTTP method: GET returns the resource, POST returns the result of the action.
201CreatedThe request succeeded and a new resource was created. Typically returned after POST or PUT requests.
202AcceptedThe request has been accepted for processing, but the processing has not been completed. Used for asynchronous operations.
204No ContentThe server successfully processed the request but is not returning any content. Common for DELETE requests or updates that need no response body.
206Partial ContentThe server is delivering only part of the resource due to a Range header sent by the client. Used for resumable downloads and video streaming.

3xx Redirection

Further action needs to be taken by the client to complete the request. Most redirections indicate the resource is available at a different URI.

CodeNameDescription
301Moved PermanentlyThe resource has been permanently moved to a new URL. All future requests should use the new URI. Search engines update their links.
302FoundThe resource temporarily resides at a different URL. The client should continue to use the original URI for future requests.
303See OtherThe response to the request can be found at another URI using a GET method. Commonly used to redirect after a POST to prevent form resubmission.
304Not ModifiedThe resource has not been modified since the last request. The client can use its cached version. No body is returned.
307Temporary RedirectThe resource temporarily resides at a different URL. Unlike 302, the request method must not change (POST stays POST).
308Permanent RedirectThe resource has permanently moved to a new URL. Unlike 301, the request method must not change (POST stays POST).

4xx Client Error

The request contains bad syntax or cannot be fulfilled. The client should modify the request before retrying.

CodeNameDescription
400Bad RequestThe server cannot process the request due to malformed syntax, invalid request framing, or deceptive request routing.
401UnauthorizedThe request requires authentication. The client must provide valid credentials (e.g., Bearer token, API key) to access the resource.
403ForbiddenThe server understood the request but refuses to authorize it. Unlike 401, re-authenticating will not help. The client lacks permission.
404Not FoundThe server cannot find the requested resource. The URL is not recognized. This may be temporary or permanent.
405Method Not AllowedThe HTTP method used is not supported for the requested resource (e.g., POST on a read-only endpoint). The Allow header lists valid methods.
408Request TimeoutThe server timed out waiting for the request. The client did not produce a request within the time the server was prepared to wait.
409ConflictThe request conflicts with the current state of the target resource (e.g., editing conflict, duplicate entry, version mismatch).
410GoneThe resource is permanently gone and will not be available again. Unlike 404, this is intentional and permanent. Search engines remove the URL.
413Payload Too LargeThe request body exceeds the server's size limit. The server may close the connection or return a Retry-After header.
415Unsupported Media TypeThe server refuses the request because the payload format is not supported (e.g., sending XML when only JSON is accepted).
418I'm a TeapotAn April Fools' joke from RFC 2324. The server refuses to brew coffee because it is, permanently, a teapot. Defined in the Hyper Text Coffee Pot Control Protocol.
429Too Many RequestsThe client has sent too many requests in a given time window (rate limiting). Check the Retry-After header for when to retry.
451Unavailable For Legal ReasonsThe resource is unavailable due to legal demands (e.g., government censorship, DMCA takedown). Named after Fahrenheit 451.

5xx Server Error

The server failed to fulfill a valid request. These indicate problems on the server side, not with the client's request.

CodeNameDescription
500Internal Server ErrorThe server encountered an unexpected condition that prevented it from fulfilling the request. A generic catch-all error.
501Not ImplementedThe server does not support the functionality required to fulfill the request (e.g., an unrecognized HTTP method).
502Bad GatewayThe server, acting as a gateway or proxy, received an invalid response from an upstream server it accessed to fulfill the request.
503Service UnavailableThe server is temporarily unable to handle the request due to maintenance or overload. Check the Retry-After header.
504Gateway TimeoutThe server, acting as a gateway or proxy, did not receive a timely response from the upstream server needed to complete the request.

Inspect HTTP responses live

Use our free HTTP Header Analyzer and other networking tools to inspect real server responses and status codes.

Frequently Asked Questions

HTTP status codes are three-digit numbers returned by a web server in response to a client's request. They are grouped into five classes: 1xx (Informational), 2xx (Success), 3xx (Redirection), 4xx (Client Error), and 5xx (Server Error). They help both browsers and developers understand the outcome of an HTTP request.

A 301 Moved Permanently tells clients and search engines that the resource has permanently moved to a new URL. Link equity is passed to the new URL. A 302 Found indicates a temporary redirect — the original URL should continue to be used for future requests. For SEO, using the wrong redirect type can impact search rankings.

A 403 Forbidden means the server understood the request but refuses to authorize it. Unlike 401 Unauthorized, which means authentication is needed, 403 means you are authenticated but lack permission. Common causes include IP-based access controls, file permission issues, or directory listing being disabled.

A 500 Internal Server Error means the origin server itself encountered an unexpected condition. A 502 Bad Gateway means a proxy or gateway server received an invalid response from an upstream server. In practice, 500 usually points to a bug in the application code, while 502 often indicates the upstream service is down or unreachable.