HTTP Status Codes
Searchable list of HTTP status codes and meanings.
Free
Runs in your browser
| Code | Name | Meaning |
|---|---|---|
| 100 | Continue | The server got the request headers and the client should send the body. |
| 101 | Switching Protocols | The server agrees to switch protocol, for example to WebSocket. |
| 102 | Processing | WebDAV: the server is still working on the request. |
| 103 | Early Hints | Sent before the final response so the browser can preload resources (Link headers). |
| 200 | OK | The request worked. The body holds the result. |
| 201 | Created | A new resource was created, usually after POST or PUT. The Location header points to it. |
| 202 | Accepted | The request was accepted for processing but is not finished yet. |
| 203 | Non-Authoritative Information | The response was changed by a proxy from the origin server’s 200 response. |
| 204 | No Content | The request worked and there is no body to return. Common for DELETE. |
| 205 | Reset Content | The client should reset the form or view that sent the request. |
| 206 | Partial Content | Only part of the resource is sent, in reply to a Range header (video seeking, resumed downloads). |
| 207 | Multi-Status | WebDAV: the body holds several status codes for several operations. |
| 208 | Already Reported | WebDAV: members already listed earlier in the reply are not repeated. |
| 226 | IM Used | The server applied instance manipulations (delta encoding) to the response. |
| 300 | Multiple Choices | There are several possible responses and the client should pick one. |
| 301 | Moved Permanently | The resource has a new permanent URL. Search engines pass ranking to the new URL. Browsers may change POST to GET. |
| 302 | Found | Temporary redirect. Keep using the original URL in future. |
| 303 | See Other | Go to another URL with GET, often used after a form POST. |
| 304 | Not Modified | The cached copy is still valid (reply to If-None-Match or If-Modified-Since). No body is sent. |
| 307 | Temporary Redirect | Temporary redirect that keeps the same method and body. |
| 308 | Permanent Redirect | Permanent redirect that keeps the same method and body. |
| 400 | Bad Request | The server cannot read the request: bad syntax, invalid JSON or missing fields. |
| 401 | Unauthorized | Authentication is missing or invalid. Log in or send valid credentials. |
| 402 | Payment Required | Reserved; some APIs use it when a payment or plan limit is needed. |
| 403 | Forbidden | The server knows who you are but you are not allowed to access this resource. |
| 404 | Not Found | Nothing exists at this URL, or the server hides that it exists. |
| 405 | Method Not Allowed | The HTTP method (for example POST) is not supported for this URL. The Allow header lists valid ones. |
| 406 | Not Acceptable | The server cannot produce a format that matches the Accept headers. |
| 407 | Proxy Authentication Required | You must authenticate with the proxy first. |
| 408 | Request Timeout | The client took too long to send the request. |
| 409 | Conflict | The request conflicts with the current state, for example an edit conflict or duplicate record. |
| 410 | Gone | The resource was deleted on purpose and will not come back. |
| 411 | Length Required | The request must include a Content-Length header. |
| 412 | Precondition Failed | A condition in the headers (such as If-Match) was not met. |
| 413 | Content Too Large | The request body is larger than the server allows (for example an upload limit). |
| 414 | URI Too Long | The URL is longer than the server will handle. |
| 415 | Unsupported Media Type | The body format (Content-Type) is not supported. |
| 416 | Range Not Satisfiable | The requested byte range is outside the file. |
| 417 | Expectation Failed | The server cannot meet the Expect request header. |
| 418 | I'm a teapot | An April Fools’ joke code from RFC 2324. Some sites use it to reject bots. |
| 421 | Misdirected Request | The request went to a server that cannot answer for this host. |
| 422 | Unprocessable Content | The syntax is fine but the data fails validation. |
| 423 | Locked | WebDAV: the resource is locked. |
| 424 | Failed Dependency | WebDAV: the request failed because a previous request failed. |
| 425 | Too Early | The server will not process a request that might be replayed. |
| 426 | Upgrade Required | The client must switch to another protocol, given in the Upgrade header. |
| 428 | Precondition Required | The server requires a conditional request to prevent lost updates. |
| 429 | Too Many Requests | Rate limit reached. Wait and retry; the Retry-After header may say how long. |
| 431 | Request Header Fields Too Large | Headers are too large, often because of too many or too big cookies. |
| 451 | Unavailable For Legal Reasons | Access is blocked for legal reasons, such as a court order. |
| 500 | Internal Server Error | A generic server failure. Check the server logs. |
| 501 | Not Implemented | The server does not support the feature needed to answer. |
| 502 | Bad Gateway | A proxy or gateway got an invalid reply from the upstream server. |
| 503 | Service Unavailable | The server is overloaded or down for maintenance. Usually temporary. |
| 504 | Gateway Timeout | A proxy or gateway did not get a reply from the upstream server in time. |
| 505 | HTTP Version Not Supported | The server does not support the HTTP version used. |
| 506 | Variant Also Negotiates | Server configuration error in content negotiation. |
| 507 | Insufficient Storage | WebDAV: the server has no room to store the data. |
| 508 | Loop Detected | WebDAV: the server found an infinite loop. |
| 510 | Not Extended | More extensions to the request are required. |
| 511 | Network Authentication Required | You must log in to the network, for example on hotel or airport Wi-Fi. |
About this tool
This reference lists every standard HTTP status code with a short, plain explanation of what it means and when servers send it. Search by number or keyword, or filter by class.
How to use HTTP Status Codes
- Type a code or a word like “redirect”.
- Filter by class (2xx, 4xx and so on).
- Read the meaning of each code.
Questions people ask
What is the difference between 301 and 302?
301 is a permanent redirect and search engines move ranking to the new URL. 302 is temporary and the original URL stays indexed. Use 308 or 307 if the method must not change.
What is the difference between 401 and 403?
401 means you are not authenticated (missing or bad credentials). 403 means you are authenticated but not allowed.
What causes a 502 or 504 error?
A proxy, load balancer or CDN could not get a valid reply (502) or any reply in time (504) from the server behind it.
More developer tools
See all 24 →
JSON FormatterBeautify, minify and validate JSON with error lines.
Base64 Encode / DecodeEncode text to Base64 or decode it back, with UTF-8.
URL Encode / DecodePercent-encode or decode URLs and query strings.
Hash GeneratorSHA-1, SHA-256, SHA-384 and SHA-512 of text or files.
UUID GeneratorGenerate random v4 UUIDs, one or thousands at a time.
Unix Timestamp ConverterConvert epoch time to a readable date and back.