HTTP status codes
Searchable reference for HTTP response status codes. Filter by class, jump to common ones, copy a line. Nothing is uploaded.
Ready
How it works
An HTTP status code is a three-digit integer on the response status line. The first digit is the class:
1xx informational · 2xx success · 3xx redirection · 4xx client error · 5xx server error.
This page is a static, client-side reference (common IANA / RFC meanings). It does not call your API or change network responses. Click a row for a short “when to use / avoid” note; filter or type to narrow the list.
Examples
HTTP/1.1 200 OK HTTP/1.1 201 Created HTTP/1.1 204 No Content HTTP/1.1 301 Moved Permanently HTTP/1.1 304 Not Modified HTTP/1.1 400 Bad Request HTTP/1.1 401 Unauthorized HTTP/1.1 403 Forbidden HTTP/1.1 404 Not Found HTTP/1.1 409 Conflict HTTP/1.1 422 Unprocessable Content HTTP/1.1 429 Too Many Requests HTTP/1.1 500 Internal Server Error HTTP/1.1 502 Bad Gateway HTTP/1.1 503 Service Unavailable
FAQ
401 vs 403? 401 means authentication is missing or failed (send WWW-Authenticate when appropriate). 403 means the server understood who you are (or does not care) but refuses this action.
404 vs 410? 404 is “not found” (may be temporary or unknown). 410 is “gone” — intentionally removed and unlikely to return.
301 vs 302 vs 308? 301/308 are permanent; 302/307 are temporary. 308/307 keep the request method; older 301/302 clients may rewrite POST to GET.
422 vs 400? Both are client errors. 400 is generic malformed request; 422 (WebDAV / common APIs) means well-formed syntax but semantic validation failed.
502 vs 504? 502 = bad response from an upstream gateway dependency. 504 = upstream did not respond in time.
Is this the full IANA registry? No — a practical developer set. Exotic or obsolete codes may be omitted.