How to use HTTP Status Code Reference
This HTTP status code reference lists every common code from 1xx through 5xx with its name, a plain-English meaning, and an optional http.cat illustration. Developers, QA engineers, and API consumers use it to decode the response codes returned by servers and REST APIs — quickly distinguishing a client mistake (4xx) from a server failure (5xx), or confirming the right redirect to use. The full list is bundled with the page and filtered instantly in your browser, so it works even with no internet connection; the cat image is a fun, optional enhancement.
- Browse the full list of HTTP status codes shown on the page by default.
- Type a number (like 404) or a keyword (like redirect) into the filter box to narrow the list.
- Read each code’s name, class, and plain-English meaning in the result card.
- Click any code to expand its details and load the http.cat illustration.
- Clear the filter to return to the complete reference list.
Your query is sent to http.catto fetch results. We don't store it.
The five HTTP status code classes
Every HTTP response carries a three-digit status code, and the first digit alone tells you which broad class it belongs to. 1xx codes are informational and rarely seen directly. 2xx codes mean the request succeeded — 200 OK for a normal fetch, 201 Created after a successful POST, and 204 No Content when there is nothing to return. 3xx codes signal redirection, splitting into permanent (301, 308) and temporary (302, 303, 307) moves. 4xx codes indicate a client error such as a bad request (400), missing authentication (401), forbidden access (403), or a missing resource (404). 5xx codes mean the server failed despite a valid request, including the generic 500 Internal Server Error and the gateway-related 502, 503, and 504.
| Class | Meaning | Common examples |
|---|---|---|
| 1xx | Informational — request received, continuing | 100 Continue, 101 Switching Protocols |
| 2xx | Success — request accepted and processed | 200 OK, 201 Created, 204 No Content |
| 3xx | Redirection — further action needed | 301 Moved Permanently, 302 Found, 304 Not Modified |
| 4xx | Client error — the request was at fault | 400 Bad Request, 401 Unauthorized, 404 Not Found |
| 5xx | Server error — the server failed the request | 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable |
Codes developers confuse most
A few status codes trip people up. 401 Unauthorized actually means "unauthenticated" — the request lacks valid credentials — while 403 Forbidden means you are authenticated but simply not allowed, so logging in again will not help. For redirects, 301 is permanent and passes SEO link equity to the new URL, whereas 302 is temporary and search engines keep indexing the original; 307 and 308 are the strict equivalents that preserve the request method and body. 404 Not Found means the resource is missing, while 410 Gone says it was intentionally removed and will not return. And 429 Too Many Requests is the standard rate-limiting signal, usually paired with a Retry-After header telling clients when to try again.
Worked examples
Looking up 404
Inputs: 404
Result: 404 Not Found — client error (4xx); the requested resource does not exist
Looking up 301
Inputs: 301
Result: 301 Moved Permanently — redirect (3xx); the resource has a new permanent URL
Glossary
- Status code
- A three-digit number in an HTTP response indicating the result of the request.
- Redirect (3xx)
- A response telling the client the resource is at a different URL, either permanently or temporarily.
- Client error (4xx)
- A class of codes indicating the request was malformed, unauthorized, or for a missing resource.
- Server error (5xx)
- A class of codes indicating the server failed to fulfil an otherwise valid request.
- Rate limiting
- Restricting how many requests a client may make in a window, signaled by 429 Too Many Requests.
Related reading
Frequently Asked Questions
Why use HTTP Status Code Reference?
- Complete 1xx–5xx list with each code’s name and a concise, accurate meaning
- Instant client-side filter by number or keyword — no requests, works offline
- Class summaries make it obvious whether a code is informational, success, redirect, client, or server error
- Optional http.cat illustration for any code adds a memorable visual mnemonic
Common use cases
- Decode an unfamiliar status code returned by an API you are integrating
- Decide between 301 and 302 (or 307/308) when configuring a redirect
- Explain the difference between 401 and 403 to a teammate during a bug triage
- Look up which 5xx code a gateway should return when an upstream times out
- Find the correct success code (200 vs 201 vs 204) for a new REST endpoint
Get weekly tool tips & updates
New tools, power-user tips, and productivity hacks — delivered free every Friday.
No spam, ever. Unsubscribe with one click.
Related Developer Tools
HTTP Debug & Test Endpoints
Test real HTTP clients against permanent debug endpoints for status codes, echo payloads, redirects, headers, gzip, and SSE from one base URL.
SSE / EventSource Tester
Connect to any HTTP/S EventSource URL, inspect named events and lastEventId values, and debug stream behavior with local logging and CORS guidance.
cURL Converter
Convert a curl command to JavaScript fetch, Node, Python requests, or PHP. Paste your curl and get clean client code instantly. Free and private.
TOML ↔ JSON Converter
Convert TOML to JSON and JSON to TOML online. Paste a config file to transform it in either direction instantly. Free, private converter that runs in your browser.
HTTP Headers Checker
View HTTP response headers for any URL. Check status codes, security headers, caching, redirects, and server details instantly. Free and private.
JSON Formatter & Validator
Format, validate, and minify JSON instantly. Includes syntax highlighting, error detection, and a collapsible tree view — free, private, in-browser.
Explore all Developer Tools.