Tools
Guides

HTTP Status Codes

Reference

Quick reference for HTTP response status codes — 1xx through 5xx — with search.

100% client-side No backend
Code Reason Category Description
On this page

What is an HTTP status code reference?#

Every HTTP response carries a three-digit status code that tells the client, in one number, what happened to its request. The digits are not random: the first digit names a family — 1xx means “hold on, I’m sending information”, 2xx means “here it is, it worked”, 3xx means “go look somewhere else”, 4xx means “you, the client, messed up”, and 5xx means “I, the server, messed up”. Memorize those five families and you can read any HTTP exchange at a glance, whether it is a browser request, a curl you ran, or an error in your application logs.

The trouble is that there are over sixty codes in active use, and the differences between neighbors are often subtle: 401 versus 403, 302 versus 307, 422 versus 400. This page is a searchable reference for all of them — the code, its IANA reason phrase, its family, and a plain explanation. Type a number or a word and the table narrows instantly.

How to use it#

  1. Browse or search. The table lists every code grouped by family (1xx through 5xx). Use the search box at the top to filter.
  2. Search the way you think. The filter is smart about intent:
    • Type a number like 30 or 418 and it matches codes by prefix — 30 surfaces the whole 3xx redirect family.
    • Type a word like redirect, timeout, or teapot and it searches the reason phrase and the description, case-insensitively.
  3. Read the row. Each row shows Code (the number), Reason (the standard phrase such as “Not Found”), Category (the localized family label), and Description (a short explanation of when that code is returned). The status bar below the table reports how many rows matched.

Key features#

  • The full IANA set, plus de-facto codes. Covers every code the web actually returns, from 100 Continue through 511 Network Authentication Required, including the WebDAV-specific 207/208/226 entries, the joke 418 I'm a Teapot, and the legally-mandated 451.
  • Prefix-aware number search. Typing 4 does not dump a random subset — it gives you every 4xx client error in order, which is exactly how you explore a family you do not remember.
  • Word search across reason and description. “rate” finds 429 Too Many Requests; “range” finds 416 Range Not Satisfiable; “auth” surfaces both 401 and 407.
  • Reason phrases are universal. The phrases (“Not Found”, “Gateway Timeout”) are technical identifiers, not translations — they match what servers actually send on the wire, so you can paste them straight into documentation or an issue tracker.
  • Runs entirely in your browser. The dataset ships with the page; filtering happens locally with no network request.

Worked example#

Three codes that trip up nearly every developer at least once are the client-error trio 401, 403, and 404. Search for the digits 40 and you get all of them in one view, side by side:

  • 401 Unauthorized — “Authentication is required and has failed or has not been provided.” The server does not know who you are. Fix: send credentials (a login token, an API key).
  • 403 Forbidden — “The request was valid but the server is refusing action (insufficient rights).” The server knows exactly who you are, and you still cannot have this. Fix: get permission, not another password.
  • 404 Not Found — “The requested resource could not be found.” The URL itself is wrong or the resource is gone. Fix: correct the path.

The single most useful distinction is 401 versus 403: “I don’t know you” (log in) versus “I know you, and no” (ask for access). Re-authenticating will never fix a 403, and fiddling with the URL will never fix a 401.

A second handy lookup is the redirect family. Search 30 and you see that 301 and 302 historically allowed clients to change the method on the next request (a POST could degrade to a GET), whereas 307 and 308 were introduced precisely to preserve the original method — which is why modern APIs that redirect form submissions point you at 307/308 instead of 301/302.

FAQ#

What does the first digit of a status code mean?#

It names the family. 1xx is informational (the server is saying “wait, more is coming”), 2xx is success, 3xx is redirection (look elsewhere), 4xx is a client error (your request was wrong), and 5xx is a server error (the request was fine but the server failed). The remaining two digits identify the specific code within that family.

Is 418 a real status code?#

It originated as an April Fools’ RFC about a teapot that refuses to brew coffee, so it is not meant for production. That said, some services genuinely return 418 as a playful “you sent me something nonsensical” response, and it is harmless to recognize. This reference lists it because you will encounter it in the wild.

Why are some codes marked WebDAV?#

Codes like 207 Multi-Status, 423 Locked, and 507 Insufficient Storage were defined for WebDAV, an extension of HTTP for collaborative file editing. They are rare on ordinary web APIs but do appear in systems that expose a filesystem-like interface, so the descriptions note the WebDAV origin so the context makes sense.

Where do the reason phrases come from?#

They are the standard English reason phrases registered with IANA — the same strings servers attach after the code on the status line (for example, HTTP/1.1 404 Not Found). They are technical identifiers, so they are shown verbatim rather than translated; the localized part of the page is the column headers, the category labels, and this explanatory text.