HTTP Status Code Lookup
Search or browse every HTTP status code with a plain-English explanation, common causes and what to do about it.
Type a code like 404 or a keyword like gateway or rate limit, or filter by
the five classes (informational, success, redirection, client error, server error). Click any code for the full
breakdown — what it really means, why it usually happens, and how to fix it from either side of the request.
Stuck on a log line? Paste it into the diagnose box below and we’ll pull out the code for you.
Search status codes
Diagnose a response or log line
Paste a status line, a curl error, or a line from a web-server log. We’ll find the status
code in it and show you the full explanation. This runs entirely in your browser.
How status codes work
Every HTTP response starts with a three-digit status code (defined in RFC 9110). The first digit is the class, and it tells you who the problem is with and what to do next:
| Class | Meaning | Who’s “at fault” |
|---|---|---|
| 1xx Informational | The request was received; the process is continuing. | Neither — it’s a handshake step. |
| 2xx Success | The request was successfully received, understood and accepted. | Neither — it worked. |
| 3xx Redirection | The client must take further action to complete the request. | Neither — follow the Location header. |
| 4xx Client Error | The request has bad syntax or cannot be fulfilled. | The client (you / your app). |
| 5xx Server Error | The server failed to fulfill a valid request. | The server (the site / API). |
A quick rule of thumb when you’re debugging: 4xx means fix the request (the URL, the method, the auth, the payload) and 5xx means the server is in trouble (check its logs, or retry with backoff if it might be transient).
Common confusions
These are the codes people mix up most often. Here’s how to tell them apart:
| Codes | How to tell them apart |
|---|---|
301 / 302 / 308 |
All redirect. 301 and 308 are permanent (update your links, search engines move ranking); 302 is temporary. 308 is the permanent one that preserves the HTTP method (a POST stays a POST), while 301/302 may be downgraded to GET by the client. |
401 / 403 |
401 Unauthorized = “who are you?” — you aren’t authenticated (missing/expired login or token). 403 Forbidden = “I know who you are, and no” — you’re authenticated but not allowed. 401 asks you to log in; 403 does not. |
404 / 410 |
Both mean “not here.” 404 = we can’t find it (may be a typo or a missing route). 410 Gone = it used to be here and is deliberately gone for good — don’t keep retrying. |
429 / 503 |
Both say “slow down.” 429 Too Many Requests = you are sending too much (rate limit). 503 Service Unavailable = the server is overloaded or in maintenance. 429 is your fault; 503 is theirs. |
502 / 503 / 504 |
All point at a server behind a proxy/load balancer. 502 Bad Gateway = the upstream gave a garbage or no response (often down or crashed). 503 = the upstream is alive but refusing work (overloaded / maintenance). 504 Gateway Timeout = the upstream took too long to answer. |
400 / 422 |
Both mean “bad request body.” 400 = the request is malformed (bad syntax, missing parameter, can’t even parse it). 422 = the syntax is fine but the content fails validation (valid JSON, wrong values). |
Which codes are safe to retry?
Not every error wants a retry. Blindly retrying can duplicate orders, double-charge cards, or hammer a struggling server. As a guide:
- Safe to retry (idempotent or transient):
408,425,429(after theRetry-Afterdelay),500,502,503,504. Use exponential backoff with jitter. - Retry only after fixing the request:
400,401(re-authenticate),405,406,415,422,428. - Don’t retry:
403,404,410,413,451,501. Retrying the identical request will get the identical answer. - Be careful: non-idempotent writes (
POSTcreating a resource) can duplicate side effects on retry. Prefer idempotency keys, or only retry codes the API documents as retry-safe.
Nothing on this page leaves your browser: there is no server round-trip when you search, no analytics on your inputs, and no storage of any kind.