Categories

HTTP Status Code Lookup

Search and look up every HTTP response status code by number or name

1xx Informational

Request received; the server is continuing the process.

2xx Success

The request was received, understood, and accepted.

3xx Redirection

Further action is needed to complete the request.

4xx Client Error

The request has bad syntax or cannot be fulfilled.

5xx Server Error

The server failed to fulfill an apparently valid request.

Showing 63 of 63 codes

1xx Informational

(4)
100
Continue

The server received the request headers and the client should proceed to send the request body. It is an interim response before the final one.

101
Switching Protocols

The server is switching to the protocol the client asked for in the Upgrade header, such as upgrading an HTTP connection to WebSocket.

102
Processing

A WebDAV interim response telling the client the request was accepted and is being worked on, so it should not time out yet.

103
Early Hints

Sent before the final response to let the client start preloading or preconnecting to resources listed in Link headers while the server prepares the body.

2xx Success

(10)
200
OK

The request succeeded. The meaning depends on the method: a GET returns the resource, a POST returns the result of the action.

201
Created

The request succeeded and a new resource was created, typically after a POST or PUT. The new URI is usually returned in the Location header.

202
Accepted

The request has been accepted for processing but is not yet complete. It is intended for asynchronous or batch work.

203
Non-Authoritative Information

The request succeeded but the returned metadata was modified by a proxy and differs from what the origin server would send.

204
No Content

The request succeeded but there is no content to return in the body. Response headers may still carry useful information.

205
Reset Content

The request succeeded and the client should reset the document that sent it, for example clearing a form for a new entry.

206
Partial Content

The server is delivering only part of the resource in response to a Range header, which enables resumable downloads and media streaming.

207
Multi-Status

A WebDAV response that conveys status for multiple independent operations in a single request, encoded as an XML body.

208
Already Reported

Used inside a WebDAV multi-status response to avoid repeatedly enumerating members of a collection that were already reported.

226
IM Used

The server fulfilled a GET request and the response represents the result of one or more instance-manipulations (delta encoding) applied to the resource.

3xx Redirection

(9)
300
Multiple Choices

The request has more than one possible response and the user or agent should choose one. It is rarely used directly.

301
Moved Permanently

The resource has permanently moved to the URL in the Location header. Clients and search engines should update their links.

302
Found

The resource temporarily resides at a different URL. The client should keep using the original URL for future requests.

303
See Other

The response can be found at another URL that should be fetched with GET, commonly used after a POST to redirect to a result page.

304
Not Modified

The resource has not changed since the version named by the request's conditional headers, so the cached copy can be reused.

305
Use ProxyDeprecated

The resource must be accessed through the proxy given in the Location header. It is deprecated for security reasons.

306
(Unused)Reserved

This code is no longer used and is reserved. It was defined in an earlier draft of the HTTP/1.1 specification.

307
Temporary Redirect

Like 302, but the client must repeat the request to the new URL using the exact same HTTP method and body.

308
Permanent Redirect

Like 301, but the client must not change the HTTP method when following the redirect to the new permanent URL.

4xx Client Error

(29)
400
Bad Request

The server cannot process the request because of a client error such as malformed syntax, invalid framing, or deceptive routing.

401
Unauthorized

Authentication is required and has failed or was not provided. Despite the name, it means unauthenticated; a WWW-Authenticate header is returned.

402
Payment Required

Reserved for future use and originally intended for digital payment systems. It is rarely used and not standardized in practice.

403
Forbidden

The server understood the request but refuses to authorize it. Unlike 401, re-authenticating will not help.

404
Not Found

The server cannot find the requested resource. It is the most familiar error and does not say whether the absence is temporary or permanent.

405
Method Not Allowed

The request method is known by the server but is not supported for the target resource, such as a POST to a read-only endpoint.

406
Not Acceptable

The server cannot produce a response matching the criteria in the request's Accept headers during content negotiation.

407
Proxy Authentication Required

Like 401, but the client must first authenticate with a proxy, indicated by the Proxy-Authenticate header.

408
Request Timeout

The server timed out waiting for the request. The client may repeat the request without modifications.

409
Conflict

The request conflicts with the current state of the resource, such as an edit conflict between two concurrent updates.

410
Gone

The resource has been permanently removed and no forwarding address is known. Unlike 404, the absence is expected to be permanent.

411
Length Required

The server refuses the request because it does not include a defined Content-Length header.

412
Precondition Failed

One or more conditions in the request's conditional headers, such as If-Match, evaluated to false on the server.

413
Content Too Large

The request body is larger than the server is willing or able to process. Formerly called Payload Too Large.

414
URI Too Long

The request URI is longer than the server will interpret, often caused by encoding too much data into a GET query string.

415
Unsupported Media Type

The payload is in a format the server or resource does not support, for example an unexpected Content-Type.

416
Range Not Satisfiable

The range in the request's Range header cannot be fulfilled, for example a start position beyond the end of the file.

417
Expectation Failed

The expectation given in the request's Expect header could not be met by the server.

418
I'm a TeapotJoke / reserved

The server refuses to brew coffee because it is, permanently, a teapot. Defined as an April Fools' joke (HTCPCP) and reserved by the HTTP spec; not for production use.

421
Misdirected Request

The request was directed at a server that cannot produce a response, for example a reused connection sent to a hostname it does not serve.

422
Unprocessable Content

The request was well-formed but could not be followed due to semantic errors, such as failing validation. Formerly Unprocessable Entity.

423
Locked

The resource being accessed is locked and cannot be modified. Defined by WebDAV.

424
Failed Dependency

The request failed because it depended on another request that also failed. Defined by WebDAV.

425
Too Early

The server is unwilling to process a request that might be replayed, protecting against replay attacks in TLS early data (0-RTT).

426
Upgrade Required

The server refuses the request with the current protocol but may accept it after the client upgrades, as named in the Upgrade header.

428
Precondition Required

The origin server requires the request to be conditional to prevent the lost-update problem from concurrent modifications.

429
Too Many Requests

The client has sent too many requests in a given amount of time (rate limiting). A Retry-After header may say how long to wait.

431
Request Header Fields Too Large

The server refuses to process the request because its header fields, individually or collectively, are too large.

451
Unavailable For Legal Reasons

The resource is blocked for legal reasons, such as a government censorship order or takedown. The number references Fahrenheit 451.

5xx Server Error

(11)
500
Internal Server Error

A generic catch-all error meaning the server hit an unexpected condition that prevented it from fulfilling the request.

501
Not Implemented

The server does not support the functionality required to fulfill the request, for example an unrecognized request method.

502
Bad Gateway

The server, acting as a gateway or proxy, received an invalid response from an upstream server.

503
Service Unavailable

The server is temporarily unable to handle the request, usually due to maintenance or overload. A Retry-After header may be provided.

504
Gateway Timeout

The server, acting as a gateway or proxy, did not receive a timely response from an upstream server.

505
HTTP Version Not Supported

The server does not support the major HTTP protocol version used in the request.

506
Variant Also Negotiates

An internal configuration error: the chosen content variant is itself set up to negotiate, so the process cannot complete.

507
Insufficient Storage

The server cannot store the representation needed to complete the request. Defined by WebDAV.

508
Loop Detected

The server detected an infinite loop while processing the request. Defined by WebDAV.

510
Not ExtendedObsolete

Further extensions to the request are required for the server to fulfill it. Defined by an obsolete experimental specification.

511
Network Authentication Required

The client must authenticate to gain network access. It is typically returned by a captive portal intercepting the connection.

HTTP Status Code Reference

This HTTP status code lookup is a searchable reference for every standard HTTP response status code, from 1xx informational responses through 2xx success, 3xx redirection, 4xx client errors, and 5xx server errors. Each entry shows the numeric code, its canonical name, the class it belongs to, and a plain-English explanation of what it means, so you can decode an API response, a server log, or a browser network tab in seconds.

The standard codes come from the IANA HTTP Status Code Registry as defined by RFC 9110 and related specifications. The tool also includes widely deployed but non-standard codes from servers and services such as nginx, Cloudflare, Apache, Laravel, and the old Twitter API. Those unofficial codes are clearly labeled with their source and are hidden until you switch them on, so the default view stays a clean picture of the real standard. Everything runs in your browser — there is no lookup request sent anywhere.

How to use HTTP Status Code Lookup

  1. Browse the codes grouped by class, each with a color-coded badge: blue for 1xx, green for 2xx, amber for 3xx, orange for 4xx, and red for 5xx.
  2. Type in the search box to filter instantly by code number (for example 404), by words in the name or description (for example redirect, timeout, or unauthorized), or by class (for example 5xx or server error).
  3. Use the Show unofficial codes button to include vendor- and framework-specific codes such as the nginx 499 or Cloudflare 522; toggle it off to see only the official standard.
  4. Click the copy button on any row to copy its code and name together, for example "404 Not Found", ready to paste into a ticket, comment, or code.

The five status code classes

Every HTTP status code is a three-digit number whose first digit places it in one of five classes. Knowing the class alone tells you the general outcome before you read the specific code.

  • 1xx Informational — the request was received and the server is continuing the process; the client should wait for a final response.
  • 2xx Success — the request was successfully received, understood, and accepted.
  • 3xx Redirection — further action, usually following a new URL, is needed to complete the request.
  • 4xx Client Error — the request has bad syntax, is unauthorized, or otherwise cannot be fulfilled as sent; the problem is on the client side.
  • 5xx Server Error — the request was apparently valid but the server failed to fulfill it; the problem is on the server side.

Standard versus unofficial codes

The official codes in this reference are registered with IANA and defined by RFCs such as RFC 9110 (HTTP Semantics), with WebDAV codes from RFC 4918 and others. These are the codes any compliant client or server may use.

Unofficial codes are not part of the HTTP standard but appear often enough in the wild to be worth knowing. Examples include nginx logging codes (444, 494 to 499), Cloudflare edge errors (520 to 527 and 530), the Apache and cPanel 509 Bandwidth Limit Exceeded, Laravel's 419 Page Expired, and the deprecated Twitter 420 Enhance Your Calm. The tool marks each of these as Unofficial and names its source so you never mistake a vendor code for a standard one.

Commonly confused status codes

  • 301 vs 302 vs 307/308 — 301 and 308 are permanent redirects, while 302 and 307 are temporary; the 307/308 pair additionally requires the client to keep the original HTTP method and body.
  • 401 vs 403 — 401 Unauthorized actually means unauthenticated (no valid credentials), whereas 403 Forbidden means you are authenticated but not allowed, so re-logging in will not help.
  • 404 vs 410 — 404 Not Found makes no promise about whether the resource will return, while 410 Gone states the removal is permanent.
  • 502 vs 503 vs 504 — 502 Bad Gateway means an upstream server returned an invalid response, 503 Service Unavailable means the server is temporarily overloaded or down for maintenance, and 504 Gateway Timeout means an upstream server did not respond in time.

Related terminology

Status line
The first line of an HTTP response, containing the protocol version, the numeric status code, and a short reason phrase such as 200 OK.
Status class
The category a code belongs to, determined by its first digit (1 through 5), from informational to server error.
Redirect
A 3xx response that points the client to a different URL, either temporarily or permanently, to complete the request.
Content negotiation
The process by which a client and server agree on the best representation of a resource, using Accept headers; failures can produce a 406 Not Acceptable.
Rate limiting
Restricting how many requests a client may make in a period of time; exceeding the limit typically returns 429 Too Many Requests.
WebDAV
An extension of HTTP for collaborative editing that adds status codes such as 207 Multi-Status, 423 Locked, and 507 Insufficient Storage.

Frequently asked questions

What are the five classes of HTTP status codes?
Codes are grouped by their first digit: 1xx informational, 2xx success, 3xx redirection, 4xx client error, and 5xx server error. The class tells you the general outcome, and the full three-digit code tells you the specific reason.
What is the difference between 401 and 403?
401 Unauthorized means the request lacks valid authentication, so providing correct credentials may fix it. 403 Forbidden means the server recognizes you but refuses to grant access, so re-authenticating will not help.
What is the difference between a 301 and a 302 redirect?
301 Moved Permanently tells clients and search engines the resource has permanently moved to a new URL and links should be updated. 302 Found is a temporary redirect, so the original URL should still be used for future requests.
Is 418 I'm a Teapot a real HTTP status code?
It comes from the Hyper Text Coffee Pot Control Protocol, an April Fools' joke specification, and is reserved rather than assigned in the main HTTP standard. It is not meant for production use, though some frameworks include it as an Easter egg. This tool lists it and labels it as a joke.
What are codes like 520, 522, or 499 that are not in the official list?
These are non-standard codes returned by specific software. 499 Client Closed Request is logged by nginx, and 520 to 527 are Cloudflare edge errors between the CDN and your origin server. This tool includes such codes under the Show unofficial codes toggle and labels each with its source.
Is my search sent to a server?
No. The entire code reference is bundled with the page and all searching and filtering happens in your browser, so nothing you type is uploaded anywhere.

Related tools