HTTP Status Code Reference
Look up the meaning of HTTP status codes like 200, 404, 500.
No matching status codes.
Search and filtering run entirely in your browser — nothing is sent to a server.
What is this tool?
The HTTP status code dictionary lets you instantly look up the meaning, typical cause, and recommended response for any three-digit status code returned by a server. Type a code number or part of its name, or use the category chips to filter.
Category guide
- 1xx Informational: the request was received and processing continues.
- 2xx Success: the request was completed successfully.
- 3xx Redirection: further action (e.g. following another URL) is needed to complete the request.
- 4xx Client Error: the request itself has a problem the server cannot process.
- 5xx Server Error: the request was valid but the server failed to fulfill it.
Privacy & processing
All search and filtering happens entirely in your browser. Nothing you type is sent to a server or stored.
The 5 classes at a glance
HTTP status codes fall into 5 classes based on their first digit. Here they are with representative codes.
| Class | Meaning | Representative codes |
|---|---|---|
| 1xx | Informational — request received, processing continues | 100, 101, 103 |
| 2xx | Success — the request was handled correctly | 200, 201, 204 |
| 3xx | Redirection — further action is needed | 301, 302, 304 |
| 4xx | Client error — something's wrong with the request | 400, 401, 404 |
| 5xx | Server error — the request was valid but the server failed | 500, 502, 503 |
Clients (browsers, API libraries) can decide whether to retry, follow a redirect, or treat something as an error just by looking at the first digit, without needing to know every specific code.
Real-world misuse — error bodies under 200, and the 301 vs 302 cache trap
Two common anti-patterns where status codes are used against their intended meaning.
1. Error bodies under 200 — Some APIs return 200 OK even when the request actually failed, signaling the failure only inside the JSON body (e.g. {"error": "..."}). This makes caches, monitoring, and client auto-retry/logging logic all treat the response as a success, forcing every consumer to parse the body just to detect failure. The rule of thumb: use 4xx/5xx for failures and 2xx for success at the status-code level itself.
2. The 301 vs 302 cache trap — Browsers cache 301 Moved Permanently indefinitely, so future requests skip the server entirely and jump straight to the cached target. Ship a 301 with the wrong redirect target and the browser cache can keep the problem alive long after you fix the server (users may need to clear their cache). Conversely, using 301 instead of 302 for a temporary change lets search engines permanently transfer the old URL's SEO value to the new one — hard to undo. Reserve 301 for truly permanent moves, and use 302 or 307 for temporary redirects, A/B tests, or maintenance windows.