Skip to content
Expensico

HTTP Status Codes

A searchable reference of HTTP status codes from 100 to 511, with what each means, when servers send it and how to handle it.

Runs in your browser. Everything you enter stays on your device. Nothing is sent to a server.

How to use the HTTP Status Codes

  1. Search by number (e.g. 404) or by meaning (e.g. “timeout”).
  2. Read what the code means and when servers send it.

The five classes

  • 1xx — informational; the request is continuing.
  • 2xx — success.
  • 3xx — redirection; the client must take another step.
  • 4xx — client error; the request needs to change before it can succeed.
  • 5xx — server error; the request may be fine, but the server failed.

Codes that are often confused

  • 401 vs 403: 401 means “who are you?” (not logged in); 403 means “I know who you are, and you can't do this”.
  • 301 vs 302 vs 307 vs 308: 301/308 are permanent, 302/307 temporary; 307/308 guarantee the method (e.g. POST) is kept.
  • 400 vs 422: 400 for malformed requests; 422 for well-formed requests with invalid values.
  • 502 vs 503 vs 504: bad upstream response, server unavailable, and upstream timeout.

Frequently asked questions

Which codes matter for SEO?

Use 301 or 308 for permanent moves so rankings transfer, 404 or 410 for removed pages, and 503 with Retry-After for planned maintenance so search engines don't drop pages.

Where do these definitions come from?

Most are defined in RFC 9110 (HTTP Semantics, 2022). Others come from the RFC noted on each card.

Is what I enter stored or sent anywhere?

No. Calculations and processing happen in your browser. Nothing you type is sent to our servers. Some tools remember your last input in this browser's local storage for convenience; you can clear it at any time.