How to use HTTP Status Codes
The HTTP Status Codes reference provides a searchable, filterable list of every standard HTTP response code from 1xx informational to 5xx server errors. Each entry includes the official name, a plain-English description, and practical guidance on when to use or expect the code. The full dataset is bundled locally — no network request needed to search.
- Type a code number (e.g. 404) or keyword (e.g. "not found") in the search box to filter the list.
- Use the class buttons (1xx, 2xx, 3xx, 4xx, 5xx) to filter by response category.
- Click any row to expand the full description and usage guidance.
- Use the search to quickly look up an unfamiliar status code during API debugging.
Your data never leaves your device — 100% private processing.
HTTP status code classes
HTTP status codes are three-digit numbers grouped by their first digit. 1xx codes are informational — the request was received and is being processed (e.g. 100 Continue lets a client know it can send a request body). 2xx codes indicate success: 200 OK is the standard response, 201 Created confirms a new resource was made, 204 No Content confirms success with no body. 3xx codes are redirections: 301 Moved Permanently and 308 Permanent Redirect pass SEO equity; 302 and 307 are temporary. 4xx codes are client errors caused by bad requests: 400 Bad Request, 401 Unauthorized (not authenticated), 403 Forbidden (authenticated but not allowed), 404 Not Found. 5xx codes are server errors: 500 Internal Server Error, 502 Bad Gateway (upstream failure), 503 Service Unavailable (overloaded or maintenance).
| Class | Range | Meaning | Common examples |
|---|---|---|---|
| 1xx | 100–199 | Informational | 100 Continue, 101 Switching Protocols |
| 2xx | 200–299 | Success | 200 OK, 201 Created, 204 No Content |
| 3xx | 300–399 | Redirection | 301 Moved, 302 Found, 304 Not Modified |
| 4xx | 400–499 | Client Error | 400 Bad Request, 401 Unauthorized, 404 Not Found |
| 5xx | 500–599 | Server Error | 500 Internal Server Error, 503 Unavailable |
Choosing the right status code for REST APIs
Returning the semantically correct status code matters for API clients, caches, and SEO crawlers. Use 201 Created (not 200) when a POST creates a new resource, and include a Location header pointing to it. Use 204 No Content for successful DELETE or PATCH with no response body. Distinguish 400 Bad Request (malformed syntax or validation failure) from 422 Unprocessable Entity (syntactically valid but semantically incorrect data). Use 401 only when authentication is missing or invalid — not when the user lacks permission (that is 403). Return 409 Conflict when a PUT would violate a uniqueness constraint. Use 429 Too Many Requests with a Retry-After header for rate limiting. Never use 200 with an error payload — this breaks client error detection and caching.
Worked examples
Look up 404
Inputs: 404
Result: Not Found — client error (4xx)
401 vs 403
Inputs: compare 401 and 403
Result: 401 = not authenticated · 403 = authenticated but forbidden
Rate limited
Inputs: 429
Result: Too Many Requests — send a Retry-After header
Glossary
- HTTP
- HyperText Transfer Protocol — the application-layer protocol for distributed, collaborative, hypermedia information systems.
- Idempotent
- A property of an HTTP method where multiple identical requests produce the same result as a single request; GET, PUT, DELETE are idempotent; POST is not.
- Cache-Control
- An HTTP header that directs caching behaviour; status codes 200, 301, and 410 are cacheable by default without Cache-Control.
- Content negotiation
- The mechanism by which a server selects the best representation for a response based on Accept headers; 406 Not Acceptable is returned when no match is found.
- Rate limiting
- Server-side enforcement of request quotas; properly indicated with 429 Too Many Requests and a Retry-After header.
Related reading
Frequently Asked Questions
Why use HTTP Status Codes?
- Search every HTTP status code by number or keyword with instant filtered results
- Filter codes by class (1xx through 5xx) to focus on a specific response category
- Get practical REST API design guidance on when each status code should be returned
- Distinguish semantically similar codes like 401 vs 403 and 302 vs 307 with clear definitions
Common use cases
- Look up the correct status code to return from a POST endpoint that creates a new resource
- Determine whether 422 or 400 is more appropriate for a form validation error response
- Identify the difference between 502 Bad Gateway and 503 Service Unavailable during an outage
- Choose between 301 and 308 for a permanent redirect that must preserve the original HTTP method
- Confirm that 429 Too Many Requests is the correct code for a rate-limiting response
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
User Agent Parser
Parse any user-agent string to identify the browser, engine, operating system, and device. Detects your own UA too. Free and private.
Meta Tag Generator
Generate SEO meta tags, Open Graph tags, and Twitter Card tags online. Preview Google search snippet and copy all tags instantly.
HTTP Headers Checker
View HTTP response headers for any URL. Check status codes, security headers, caching, redirects, and server details instantly. Free and private.
Base64 Payload Extractor
Paste a JSON body, HTML source, or any text and automatically extract all embedded base64 data URIs. Preview, inspect, and download each artifact — fully in-browser.
HTML Viewer & Previewer
Paste HTML and preview the rendered result instantly in a safe sandbox. Toggle between rendered output and formatted source — free, private, and in your browser.
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.