HTTP Status Codes Reference

Every standard HTTP response status code with what it means, when to return it and the RFC that defines it. Search or filter by class and click a code for details.

Loading tool…

About the HTTP Status Codes

Status codes are three-digit numbers whose first digit defines the class: 1xx informational, 2xx success, 3xx redirection, 4xx client error and 5xx server error. Clients that do not recognise a code must treat it like the x00 code of its class, so an unknown 429 is handled as a 400. Most codes are defined in RFC 9110, HTTP Semantics (2022), which replaced RFC 7231; others come from WebDAV (RFC 4918), RFC 6585 and later specifications.

A few pairs are commonly confused. 401 means “not authenticated” and must send WWW-Authenticate; 403 means authenticated but not allowed. 301 and 302 let clients switch POST to GET, while 308 and 307 keep the method. 422 is for well-formed but invalid data, 400 for malformed requests.

For SEO, 301/308 pass ranking to the new URL, 410 removes pages faster than 404, and a short 503 with Retry-After tells crawlers maintenance is temporary. Unofficial codes such as Cloudflare's 52x or nginx's 499 are server-specific and not listed here.

How to use it

  1. Type a code, a name or a word such as “redirect” in the search box.
  2. Use the 1xx–5xx buttons to filter by class.
  3. Click a code to see what it means, when to use it and its RFC.
  4. Copy the code and name for your docs or API responses.

Frequently asked questions

What is the difference between 401 and 403?
401 Unauthorized means the request lacks valid credentials — log in and retry. 403 Forbidden means the server knows who you are but you are not allowed; logging in again will not help.
Should I use 301 or 308 for a permanent redirect?
301 for normal page moves (browsers may change POST to GET). 308 when the method and body must be preserved, e.g. for API endpoints.
Which status code for validation errors?
422 Unprocessable Content when the JSON is valid but the values are not; 400 Bad Request when the body cannot be parsed at all.
What does 504 Gateway Timeout mean?
A proxy or load balancer (nginx, Cloudflare, AWS ALB) waited too long for your application server. Check slow queries or raise the upstream timeout.

Related tools