Look up HTTP response status codes

Type a code or name such as 200, 301, 404 or 500 into the filter box above the table, or use the browser’s Find command, and read the meaning in the row. The button in each row copies the number alone.

Runs locally in your browser
HTTP status codeMeaning
100Continue — The server received the request headers; the client may send the request body.
101Switching Protocols — The server is changing to the protocol named in the Upgrade header.
102Processing — The WebDAV request is still being processed and no final response is available yet.
200OK — The request succeeded.
201Created — The request succeeded and created a new resource.
202Accepted — The request was accepted for processing, but processing is not complete.
203Non-Authoritative Information — A transforming proxy supplied metadata that may differ from the origin response.
204No Content — The request succeeded and the response has no body.
205Reset Content — The request succeeded and the client should reset the document view or input form.
206Partial Content — The response contains the requested byte range or ranges.
207Multi-Status — A WebDAV response reports independent results for multiple resources or operations.
300Multiple Choices — More than one representation or destination is available for the resource.
301Moved Permanently — The resource has a new permanent URL supplied in Location.
302Found — The resource is temporarily available at the URL supplied in Location.
303See Other — Retrieve the result from another URL with a GET request.
304Not Modified — A conditional request found that the cached representation is still current.
305Use Proxy — Deprecated; the resource was intended to be accessed through the proxy named in Location.
306Unused — This status code is reserved and is no longer used.
307Temporary Redirect — Repeat the request at the URL in Location without changing the HTTP method.
400Bad Request — The server cannot process the request because its syntax or framing is invalid.
401Unauthorized — Authentication credentials are missing, invalid, or insufficient for this request.
402Payment Required — Reserved for payment-related use; semantics depend on the service.
403Forbidden — The server understood the request but refuses to authorize it.
404Not Found — The server cannot find the requested resource.
405Method Not Allowed — The resource does not support the request method; Allow should list supported methods.
406Not Acceptable — The server cannot produce a representation matching the request negotiation headers.
407Proxy Authentication Required — The client must authenticate with the proxy.
408Request Timeout — The server waited too long to receive the complete request.
409Conflict — The request conflicts with the current state of the resource.
410Gone — The resource is permanently unavailable and no forwarding address is known.
411Length Required — The server requires a valid Content-Length header.
412Precondition Failed — One or more request preconditions evaluated to false.
413Content Too Large — The request body exceeds a limit the server is willing or able to process.
414URI Too Long — The request target is longer than the server accepts.
415Unsupported Media Type — The server does not support the request body media type or encoding.
416Range Not Satisfiable — The requested byte range does not overlap the selected representation.
417Expectation Failed — The server cannot meet an expectation from the Expect header.
421Misdirected Request — The request reached a server that cannot produce a response for the target authority.
422Unprocessable Content — The syntax is valid, but the server cannot process the supplied instructions.
423Locked — The target resource is locked and the request cannot be applied.
424Failed Dependency — The request failed because an operation it depended on failed.
425Too Early — The server is unwilling to process a request that might be replayed.
426Upgrade Required — The server requires the client to switch to a protocol listed in Upgrade.
449Retry With — A non-standard Microsoft status asking the client to retry after taking corrective action.
500Internal Server Error — An unexpected server condition prevented the request from completing.
501Not Implemented — The server does not support the functionality required by the request.
502Bad Gateway — A gateway or proxy received an invalid response from an upstream server.
503Service Unavailable — The server is temporarily unable to handle the request, often because of maintenance or overload.
504Gateway Timeout — A gateway or proxy did not receive a timely response from an upstream server.
505HTTP Version Not Supported — The server does not support the HTTP version used by the request.
506Variant Also Negotiates — A server configuration error created a circular content-negotiation reference.
507Insufficient Storage — The server cannot store the representation required to complete the request.
509Bandwidth Limit Exceeded — A widely used, non-standard status indicating that a bandwidth quota was exceeded.
510Not Extended — The request requires further extensions before the server can fulfill it.

How to look up an HTTP status code

This page lists 54 HTTP status codes as three-digit numbers with a short explanation next to each one, from 100 Continue to 510 Not Extended.

Type a code or a word such as 404 or Locked into the search box above the table and the rows filter as you type; the filter runs in the page, so nothing is submitted. You can also jump to a code with the browser's own Find command (Ctrl+F, or ⌘F on macOS), and copy the three digits alone with the button in the row.

  1. Type into the search box above the table — 404, redirect or timeout, for example — and the list narrows to the matching rows while you type. The clear button brings all 54 rows back.
  2. Read the second column: every row pairs the number with its reason phrase and a short explanation of when a server returns it.
  3. Press the copy button in the code cell to copy only the number — 301, for example — without the explanation text.
  4. Check the wording before relying on a code: the row text says when an entry is reserved, deprecated, vendor-specific or non-standard.

What the table contains

Coverage and categories

The 54 rows cover the five classes — 100–102 informational, 200–207 success, 300–307 redirection, 400–426 client errors, 500–510 server errors — plus the Microsoft code 449.

The list is curated rather than exhaustive: some later codes are absent, including 103 Early Hints, 308 Permanent Redirect, 418, 428, 429 Too Many Requests, 431, 451 and 511.

How individual codes are described

Each row keeps the standard reason phrase first and adds a one- or two-sentence note. Codes that only make sense in one protocol are explained in that context: 102 Processing, 207 Multi-Status, 422 Unprocessable Content, 423 Locked, 424 Failed Dependency and 507 Insufficient Storage come from WebDAV, 449 from Microsoft.

Entries that are not usable in ordinary traffic are marked in the text: 306 is reserved and unused, 305 is deprecated, 402 is reserved for payment use, 449 is non-standard, and 509 is non-standard but widely deployed.

Search, copy and page limits

The filter box and the per-row copy buttons are added by the page script. With JavaScript disabled the table still shows all 54 rows and their explanations, but neither the box nor the buttons exist; the browser's own Find command is then the way to locate a code.

Filtering happens inside the page — no query is sent to a server — and when nothing matches, the page says so instead of hiding the table silently. Codes and explanations are part of the HTML, so the page keeps working offline once loaded; on a narrow screen the table scrolls horizontally inside its own container.

Recent tools: