About the HTTP Status Code Lookup
This HTTP status code lookup explains what any response code means. Type a number such as 404, 503 or 429 — or a phrase like "too many" or "gateway" — and get the official reason phrase, a plain-English meaning, the situations where you typically see it, the specification that defines it, whether responses are cacheable by default, and whether a client should retry.
It is built for web developers debugging APIs, SEO specialists auditing redirects and broken links, and site owners trying to understand an error page. The table underneath lists every code in the same class, so you can compare, say, 301 with 302, 307 and 308, or 401 with 403.
The list follows the IANA HTTP Status Code Registry and RFC 9110 (HTTP Semantics, 2022), which renamed 413 to "Content Too Large" and 422 to "Unprocessable Content". A few unofficial codes you will meet in logs — nginx 444 and 499, and Cloudflare 520–526 — are included and clearly labelled as unofficial.
How to use the http status code lookup
- 1Type a status code (e.g. 503) or a keyword (e.g. "gateway").
- 2Read the reason phrase, meaning and typical cause.
- 3Check whether the response is cacheable and whether to retry.
- 4Compare with neighbouring codes in the table below.
Formula and method
An HTTP status code is a three-digit number whose first digit defines the class: 1xx informational (the request is still in progress), 2xx success, 3xx redirection (further action is needed), 4xx client error (the request is wrong) and 5xx server error (the server failed on a valid request). RFC 9110 requires clients that see an unrecognised code to treat it like the x00 code of its class.
Lookups match an exact code first, then a reason phrase, then words in the description. "Cacheable by default" follows RFC 9110 §15.1, which lists the codes a cache may store using heuristic freshness when no Cache-Control or Expires header is present. Retry advice reflects common practice: transient errors (408, 429, 502–504) can be retried with backoff, while other 4xx errors will fail again until the request is fixed.
Worked examples
404 Not Found
404 is a client error: the URL does not exist on the server. RFC 9110 lists 404 among the heuristically cacheable codes, and retrying the same URL will not help until the link is fixed.
503 Service Unavailable
503 signals a temporary outage or overload. Clients should wait for the Retry-After period if the server sends one and retry with backoff; the response is not cached by default.
Search by keyword
The phrase matches the reason phrase of 429, the rate-limiting code defined in RFC 6585. APIs send it with a Retry-After header when you exceed a request quota.
An unassigned code
299 is not in the IANA registry, but its first digit makes it a success code, so a client must handle it as if it were 200 OK.
Frequently asked questions
What does a 404 error mean?+
404 Not Found means the server is reachable but has nothing at that URL — usually a broken link, a typo or a deleted page. Fix the link or add a 301 redirect to the new location; use 410 Gone if the page was removed on purpose.
What is the difference between 401 and 403?+
401 Unauthorized means the request has no valid credentials — log in or send a valid token. 403 Forbidden means the server knows who you are but you lack permission, so logging in again will not help.
What causes a 502 Bad Gateway vs a 504 Gateway Timeout?+
Both come from a proxy, load balancer or CDN in front of your app. 502 means the upstream server returned an invalid response or refused the connection; 504 means it did not answer before the proxy’s timeout. Check the application server, not the proxy.
Should I use 301 or 302 for a redirect?+
Use 301 (or 308) when a URL has moved permanently, such as a site migration — search engines transfer ranking signals to the new URL. Use 302 (or 307) for temporary redirects. 307 and 308 additionally guarantee that a POST stays a POST.
What does HTTP 429 mean and how do I fix it?+
429 Too Many Requests means you hit a rate limit. Slow down, honour the Retry-After header, add exponential backoff with jitter to your client, and cache responses so you make fewer calls.
Is 418 I’m a teapot a real status code?+
It started as an April Fools’ joke in RFC 2324 (1998). RFC 9110 now lists 418 as "(Unused)" — it is reserved so no real meaning is ever assigned, but servers should not send it for genuine errors.