📡 HTTP Status Codes
Searchable reference of every HTTP status code with plain-language meanings, grouped by class.
📚 A quick everyday reference, not a substitute for the RFC specifications. Descriptions are kept short and practical for debugging.
How to use this tool
Overview
HTTP Status Codes is a complete, searchable reference of every standard HTTP status code. Codes are grouped by class, 1xx informational, 2xx success, 3xx redirection, 4xx client errors and 5xx server errors, each with a short plain-language meaning written for debugging rather than for the spec. Type any number, name or keyword into the search box and the list filters instantly: try 404, redirect, timeout, auth or cache. Handy for backend debugging, API design reviews, SEO audits and support conversations where "what does 500 mean" needs a fast answer. Everything loads statically and the search runs locally.How to read status code classes
The first digit tells you who is responsible. 1xx codes are provisional, the request was received and processing continues. 2xx means success, with 200 and 204 the common cases. 3xx means the resource moved or is cached elsewhere: 301 is permanent, 302 temporary, 304 not modified. 4xx means the client sent something the server cannot fulfil: 400 malformed, 401 unauthenticated, 403 forbidden, 404 missing, 429 rate-limited. 5xx means the server failed: 500 unhandled error, 502 bad gateway, 503 unavailable, 504 gateway timeout. Debugging gets faster once the class narrows the search.
Technical specifications
| Property | HTTP status codes behavior |
|---|---|
| Coverage | All standard codes grouped by 1xx: 5xx class |
| Descriptions | Plain-language explanations written for debugging |
| Search | Instant filtering by number, name or keyword |
| Loading | Static reference, search runs locally |
| Cost | Free, no account, no ads |
Practical debugging notes
- 404 vs 410: gone signals permanent removal; 404 may return.
- 401 needs credentials, 403 means credentials are not enough.
- 502 and 504 usually point at an upstream or proxy, not your code.
- 429 responses should include Retry-After, respect it.
- 301s are cached aggressively by browsers; test redirect changes in a clean profile.
Related: browse the developer tools for headers, SSL, DNS and OpenGraph checks.
Status codes in APIs and caching
Status codes carry meaning beyond success or failure, and using the right one prevents clients from guessing. In the 2xx range, 200 means a normal success, 201 should follow a resource creation and include a Location header, and 204 signals success with no body, useful for deletes and updates that return nothing. In the 3xx range the distinctions matter: 301 is a permanent move that browsers and search engines cache, 302 is temporary, and 307 and 308 preserve the HTTP method and body, which matters for POST redirects where 301 or 302 could silently turn the request into a GET. A 304 is not a redirect but a caching answer: it tells the client the cached copy is still valid. In the 4xx range, 400 is a malformed request, 401 means authentication is missing or invalid, 403 means authenticated but not allowed, 404 means the resource does not exist, 409 signals a conflict such as a duplicate key, 422 is common for validation failures, and 429 asks the client to slow down, ideally with a Retry-After header. In the 5xx range, 500 is an unhandled error, 502 a bad upstream response, 503 temporary unavailability, and 504 an upstream timeout. Two design rules follow: make retries safe by keeping GET, PUT and DELETE idempotent, and never return 200 with an error object inside, because every client will treat it as success. The reference runs in your browser.
Frequently asked questions
What is an HTTP status code? +
A three-digit number a server sends with every response to tell the client how the request went. The first digit defines the class: 1xx informational, 2xx success, 3xx redirection, 4xx client error and 5xx server error. The HTTP Status Codes lists them all with plain-language meanings.
What is the difference between 401 and 403? +
401 Unauthorized means authentication is missing or failed, the client should log in and retry. 403 Forbidden means the server knows who you are but you still do not have permission, so retrying with the same credentials will not help.
Which codes should a REST API return? +
Typical mappings: 200 for reads, 201 for creates with a Location header, 204 for successful deletes, 400 for validation errors, 401 and 403 for auth problems, 404 for unknown resources, 409 for conflicts and 429 for rate limiting.
Is this list searchable? +
Yes, type any code, name or keyword into the search box and the page filters instantly, all locally in your browser.