HTTP Status Codes List & Lookup
Look up any HTTP status code: meaning, typical cause and fix, default cacheability and the RFC section. Full IANA list plus nginx and Cloudflare codes.
| Code | Name | Class | Cacheable | Defined in |
|---|---|---|---|---|
| 400 | Bad Request | Client error | No | RFC 9110 §15.5.1 |
| 401 | Unauthorized | Client error | No | RFC 9110 §15.5.2 |
| 402 | Payment Required | Client error | No | RFC 9110 §15.5.3 |
| 403 | Forbidden | Client error | No | RFC 9110 §15.5.4 |
| 404 | Not Found | Client error | Yes | RFC 9110 §15.5.5 |
| 405 | Method Not Allowed | Client error | Yes | RFC 9110 §15.5.6 |
| 406 | Not Acceptable | Client error | No | RFC 9110 §15.5.7 |
| 407 | Proxy Authentication Required | Client error | No | RFC 9110 §15.5.8 |
| 408 | Request Timeout | Client error | No | RFC 9110 §15.5.9 |
| 409 | Conflict | Client error | No | RFC 9110 §15.5.10 |
| 410 | Gone | Client error | Yes | RFC 9110 §15.5.11 |
| 411 | Length Required | Client error | No | RFC 9110 §15.5.12 |
| 412 | Precondition Failed | Client error | No | RFC 9110 §15.5.13 |
| 413 | Content Too Large | Client error | No | RFC 9110 §15.5.14 |
| 414 | URI Too Long | Client error | Yes | RFC 9110 §15.5.15 |
| 415 | Unsupported Media Type | Client error | No | RFC 9110 §15.5.16 |
| 416 | Range Not Satisfiable | Client error | No | RFC 9110 §15.5.17 |
| 417 | Expectation Failed | Client error | No | RFC 9110 §15.5.18 |
| 418 | (Unused) | Client error | No | RFC 9110 §15.5.19 |
| 419 | Page Expired | Client error | Not defined | Unofficial — Laravel |
| 420 | Enhance Your Calm | Client error | Not defined | Unofficial — Twitter API v1 (retired) |
| 421 | Misdirected Request | Client error | No | RFC 9110 §15.5.20 |
| 422 | Unprocessable Content | Client error | No | RFC 9110 §15.5.21 |
| 423 | Locked | Client error | No | RFC 4918 §11.3 |
| 424 | Failed Dependency | Client error | No | RFC 4918 §11.4 |
| 425 | Too Early | Client error | No | RFC 8470 §5.2 |
| 426 | Upgrade Required | Client error | No | RFC 9110 §15.5.22 |
| 428 | Precondition Required | Client error | No | RFC 6585 §3 |
| 429 | Too Many Requests | Client error | No | RFC 6585 §4 |
| 431 | Request Header Fields Too Large | Client error | No | RFC 6585 §5 |
| 444 | No Response | Client error | Not defined | Unofficial — nginx |
| 451 | Unavailable For Legal Reasons | Client error | No | RFC 7725 §3 |
| 494 | Request Header Too Large | Client error | Not defined | Unofficial — nginx |
| 495 | SSL Certificate Error | Client error | Not defined | Unofficial — nginx |
| 496 | SSL Certificate Required | Client error | Not defined | Unofficial — nginx |
| 497 | HTTP Request Sent to HTTPS Port | Client error | Not defined | Unofficial — nginx |
| 499 | Client Closed Request | Client error | Not defined | Unofficial — nginx |
Every HTTP response starts with a three-digit status code that tells the browser, an API client or a search engine what happened. This lookup covers the full IANA registry — the codes defined in RFC 9110 and the WebDAV and later RFCs — plus the unofficial codes you meet in nginx logs and on Cloudflare error pages, each with a plain explanation, the usual cause and what to do about it.
How to use this tool
- Type a code such as 502, or a word such as redirect, timeout or cookie.
- Narrow the list by class if you like, for example only 5xx server errors.
- Read the meaning, the typical fix, whether the response is cacheable by default and the RFC section that defines it.
- Leave the box empty to browse the full table.
Formula
class = first digit: 1 informational · 2 successful · 3 redirection · 4 client error · 5 server error
RFC 9110 requires clients to understand the class of any code and to treat an unknown code like the x00 code of its class, so an unrecognised 299 is handled as 200 and 477 as 400. Responses with 200, 203, 204, 206, 300, 301, 308, 404, 405, 410, 414 and 501 may be cached without explicit freshness headers (heuristic caching).
Example
Searching 504 shows Gateway Timeout from RFC 9110 §15.6.5: a proxy such as nginx or a load balancer gave up waiting for the application behind it, so the fix is on the server — speed up the slow request or raise the proxy timeout. Searching 524 shows the Cloudflare version of the same problem, with Cloudflare's default 100-second limit.
Frequently asked questions
What is the difference between 401 and 403?
401 means you are not authenticated — log in or send a valid token and it may work. 403 means the server knows who you are (or does not care) and still refuses, so logging in again will not help.
Should I use 301 or 308, and 302 or 307?
301 and 302 allow browsers to turn a POST into a GET when following the redirect. 308 (permanent) and 307 (temporary) keep the method and body, which matters for APIs and form submissions. For ordinary page moves, 301 is fine.
Is 418 I'm a teapot a real status code?
No. It comes from an April Fools' RFC about coffee pots. RFC 9110 lists 418 as "(Unused)" and reserves it so that no real meaning is ever assigned to it.
Why do I see 499 in nginx logs?
It is nginx's own code for a client that closed the connection before the response was ready — often a user leaving the page or a client timeout. It is never sent to the browser.
Sources
Last updated:
Page address with these inputs: https://kakao.mobile/tools/http-status-code-lookup/
Cite or embed this tool
kakaoCalc. (2026, November 8). HTTP Status Codes List & Lookup. https://kakao.mobile/tools/http-status-code-lookup/
“HTTP Status Codes List & Lookup.” kakaoCalc, 8 Nov. 2026, kakao.mobile/tools/http-status-code-lookup/.
Paste this code into your page. The widget runs in your visitors' browsers, shows no ads and keeps a link back to this page. Embedding terms