tomai
Free · Developer Tools

HTTP Status Codes

Every status code explained — search 200 to 511 in seconds

100 1xx
Continue

Continue with the request.

101 1xx
Switching Protocols

Switching protocols.

103 1xx
Early Hints

Early hints before the final response.

200 2xx
OK

OK, request succeeded.

201 2xx
Created

Created successfully.

202 2xx
Accepted

Accepted for later processing.

203 2xx
Non-Authoritative Information

Success, but modified by a proxy.

204 2xx
No Content

Success, no content to return.

205 2xx
Reset Content

Success, reset the form.

206 2xx
Partial Content

Returning the requested file range.

207 2xx
Multi-Status

Multiple statuses at once (WebDAV).

208 2xx
Already Reported

Already reported, no duplicate.

226 2xx
IM Used

Using the instance manipulation result.

300 3xx
Multiple Choices

Multiple choices — pick one.

301 3xx
Moved Permanently

Moved permanently, update bookmarks.

302 3xx
Found

Moved temporarily, usually followed.

303 3xx
See Other

Fetch again with GET at the new address.

304 3xx
Not Modified

Not modified, cache is fine.

307 3xx
Temporary Redirect

Temporary move, method and body must not change.

308 3xx
Permanent Redirect

Permanent move, method and body must not change.

400 4xx
Bad Request

The request is malformed.

401 4xx
Unauthorized

Log in or authenticate first.

402 4xx
Payment Required

Payment required (reserved).

403 4xx
Forbidden

Understood, but access forbidden.

404 4xx
Not Found

Nothing lives at this address.

405 4xx
Method Not Allowed

Method not allowed here.

406 4xx
Not Acceptable

No acceptable format available.

407 4xx
Proxy Authentication Required

Proxy login comes first.

408 4xx
Request Timeout

Client gave up waiting.

409 4xx
Conflict

Conflicts with the current state.

410 4xx
Gone

Existed once, deleted forever.

411 4xx
Length Required

Content-Length missing.

412 4xx
Precondition Failed

A precondition failed.

413 4xx
Content Too Large

Body too large, rejected.

414 4xx
URI Too Long

URL too long.

415 4xx
Unsupported Media Type

This media type is not supported.

416 4xx
Range Not Satisfiable

Requested range unavailable.

418 4xx
I'm a teapot

I am a teapot (April Fools' joke, kept with honors).

421 4xx
Misdirected Request

Request sent to the wrong server.

422 4xx
Unprocessable Content

Well-formed but semantically wrong.

423 4xx
Locked

Resource is locked.

424 4xx
Failed Dependency

A dependency failed first.

425 4xx
Too Early

Too early, server refuses (replay protection).

426 4xx
Upgrade Required

Upgrade protocols first.

428 4xx
Precondition Required

A required conditional header is missing.

429 4xx
Too Many Requests

Too many requests — rate limited, take a break.

431 4xx
Request Header Fields Too Large

Request headers too large.

451 4xx
Unavailable For Legal Reasons

Unavailable for legal reasons.

500 5xx
Internal Server Error

The server blew up internally.

501 5xx
Not Implemented

Not implemented here.

502 5xx
Bad Gateway

The gateway's upstream is broken.

503 5xx
Service Unavailable

Temporarily unavailable (overload or maintenance).

504 5xx
Gateway Timeout

Gateway timed out waiting upstream.

505 5xx
HTTP Version Not Supported

HTTP version not supported.

506 5xx
Variant Also Negotiates

Negotiation looped back.

507 5xx
Insufficient Storage

Server storage is full.

508 5xx
Loop Detected

Circular reference detected.

510 5xx
Not Extended

Extension declaration missing.

511 5xx
Network Authentication Required

Authenticate through the captive portal first.

Status codes are a conversation

Every HTTP response carries a three-digit status: the server telling the client what happened in one number. 200s mean it worked, 300s mean look over there, 400s mean your request was wrong, 500s mean the server broke. Reading them fluently turns cryptic failures into five-second diagnoses.

What this tool does

  • 🚦 All common codes 100–511 with plain-language meanings
  • 🔍 Instant search by number or phrase, plus class filters
  • 🔗 Deep links (?code=404) you can share
  • 🍵 The 418 teapot, preserved with honors

When to use it

  • Decoding a failed fetch in devtools
  • Choosing the right redirect for an SEO migration
  • Settling what 422 vs 400 means in your API

Privacy: a static reference page — nothing to compute, nothing to upload.

Last updated · 2026-09-01

How the reference works

A static table of codes, phrases and classes renders server-side for instant load and indexing; the search filter runs locally in a few lines of script. No network, no database, nothing to break.

Why look codes up here?

🚦

Searchable, not scrollable

Type 404 or timeout and land directly on the card — plus one-click class filters and shareable ?code= links for pairing sessions and code reviews.

🔍

Advice, not just definitions

Each card says when servers actually send the code and what to do about it, instead of quoting the RFC and leaving you hanging.

📋

Complete and current

From 103 Early Hints to 451 Unavailable For Legal Reasons, including the modern 425 Too Early — the set your framework actually emits.

Frequently asked questions

What do the number ranges mean?

1xx is informational, 2xx means success, 3xx redirects elsewhere, 4xx blames the client request, 5xx blames the server. The first digit tells you who should act.

301 vs 302 vs 307 vs 308 — which redirect?

301/308 are permanent (browsers and SEO pass it on), 302/307 temporary. 301/302 historically allowed method changes; 307/308 strictly preserve the method — use 308 for permanent API moves.

Is 418 a joke?

Half: an April Fools RFC that stuck around as the community mascot (I'm a teapot). Some APIs and test suites genuinely return it — and now you know why.

Frequently asked questions

What do the number ranges mean?

1xx is informational, 2xx means success, 3xx redirects elsewhere, 4xx blames the client request, 5xx blames the server. The first digit tells you who should act.

301 vs 302 vs 307 vs 308 — which redirect?

301/308 are permanent (browsers and SEO pass it on), 302/307 temporary. 301/302 historically allowed method changes; 307/308 strictly preserve the method — use 308 for permanent API moves.

Is 418 a joke?

Half: an April Fools RFC that stuck around as the community mascot (I'm a teapot). Some APIs and test suites genuinely return it — and now you know why.

Related tools

Related tools