HTTP Status Codes

Complete HTTP status code reference — all 1xx, 2xx, 3xx, 4xx, 5xx codes plus Cloudflare and nginx non-standard codes. Search by code number or description, filter by category, copy code+name in one click. Free, client-side, no data uploaded.

Did we solve your problem today?

What Are HTTP Status Codes?

HTTP status codes are three-digit numeric responses sent by web servers to indicate the result of a client’s HTTP request. Every browser request, API call, and web service interaction receives a status code — from a simple page load returning 200 OK to a failed authentication returning 401 Unauthorized or a missing page returning 404 Not Found.

Status codes are grouped into five classes, each indicating a different type of outcome:

ClassRangeMeaning
1xx100–199Informational — request received, processing continues
2xx200–299Success — request was received, understood, and accepted
3xx300–399Redirection — further action is needed to complete the request
4xx400–499Client Error — the request contains bad syntax or cannot be fulfilled
5xx500–599Server Error — the server failed to fulfil an apparently valid request

How to Use This Reference Tool

  1. Search by code number (e.g. 404), status name (e.g. not found), or description keyword (e.g. redirect).
  2. Filter by category using the buttons (1xx, 2xx, 3xx, 4xx, 5xx, Non-Standard).
  3. Click any card to see the full details: meaning, when to use it, common causes, and a ready-to-use curl example.
  4. Copy Code + Name with one click — useful for documentation, bug reports, and code comments.

The Most Important HTTP Status Codes

2xx — Success

200 OK is the standard success response. The server returned the requested content. 201 Created is returned after a successful POST that creates a new resource. 204 No Content signals a successful operation (such as a DELETE) with no response body.

3xx — Redirects

301 Moved Permanently tells browsers and search engines that a URL has moved forever — link equity is transferred. 302 Found is a temporary redirect used in the Post/Redirect/Get pattern. 304 Not Modified tells the browser to use its cached version of a resource.

4xx — Client Errors

400 Bad Request indicates malformed syntax or invalid input. 401 Unauthorized means authentication is required or failed. 403 Forbidden means the server understands the request but refuses to authorize it. 404 Not Found is the most recognisable error — the requested resource does not exist. 422 Unprocessable Content signals valid JSON with invalid business logic (common in REST APIs). 429 Too Many Requests is returned by rate-limited APIs.

5xx — Server Errors

500 Internal Server Error is the catch-all for unhandled exceptions. 502 Bad Gateway means a proxy received an invalid upstream response. 503 Service Unavailable signals temporary downtime — often with a Retry-After header. 504 Gateway Timeout indicates the upstream server did not respond in time.

Non-Standard Codes

Beyond the official RFC-defined codes, several vendors and platforms have introduced their own extensions:

These codes are widely encountered in production infrastructure and are included in this reference for completeness.

Privacy

This tool runs entirely in your browser using a static JavaScript data set. No search queries, URLs, or status codes are ever sent to a server, stored in cookies, or logged.

FAQ

What are HTTP status codes?

HTTP status codes are three-digit numbers returned by web servers to indicate the result of a request. They are grouped into five classes: 1xx (Informational), 2xx (Success), 3xx (Redirection), 4xx (Client Error), and 5xx (Server Error). Every HTTP response includes a status code that tells the client whether the request was fulfilled, redirected, or encountered an error.

What is the difference between 401 and 403?

401 Unauthorized means the request requires authentication — the client is not logged in or provided invalid credentials. 403 Forbidden means the server understood the request and the client is authenticated, but does not have permission to access the resource. In short: 401 = "who are you?", 403 = "I know who you are, but you can't do this."

What is the difference between 301 and 302?

301 Moved Permanently tells search engines and browsers that the resource has permanently moved to a new URL — the new URL should be indexed and the old one forgotten. 302 Found (Temporary Redirect) tells the browser to visit the new URL just for this request, but future requests should still go to the original URL. For SEO purposes, always use 301 for permanent redirects.

What are non-standard HTTP status codes?

Non-standard codes are used by specific software or services such as nginx, Cloudflare, AWS, or Laravel. They are not defined by the official HTTP specification (RFC 7231 and successors) but are commonly encountered in real-world web infrastructure. Examples include nginx 444 (No Response) and Cloudflare 520-527 (various origin server errors).

Why does HTTP 418 exist?

HTTP 418 "I'm a Teapot" was defined in RFC 2324 as an April Fools' joke in 1998, for a fictional Hyper Text Coffee Pot Control Protocol. It is not expected to be implemented by real HTTP servers, but it has become a beloved Easter egg in the web development community.