HTTP Status Code Lookup
Type a status code such as 404, a class such as 5xx, or a word such as redirect or rate limit, and see the matching codes with their names, what they mean, when a server sends them and the RFC that defines each. The list covers the codes registered with IANA that you will meet in practice, with the names used in RFC 9110. The search runs in your browser.
62 of 62 codes
- 100
Continue
The first part of the request was accepted, so the client should send the rest.
Typical use: A client sends Expect: 100-continue with a large upload and waits for this before sending the body.
Defined in RFC 9110 15.2.1
- 101
Switching Protocols
The server agrees to switch to the protocol the client asked for.
Typical use: Upgrading an HTTP connection to WebSocket.
Defined in RFC 9110 15.2.2
- 102
Processing
Obsolete: removed from later WebDAV standards.The server has the request and is still working on it.
Typical use: Long WebDAV operations. It was dropped from the standard, so new software rarely uses it.
Defined in RFC 2518
- 103
Early Hints
The server sends some headers early, before the final response is ready.
Typical use: Letting the browser start loading stylesheets and scripts while the server builds the page.
Defined in RFC 8297
- 200
OK
The request succeeded.
Typical use: A normal page, file or API result. The meaning of the body depends on the method: the resource for GET, the result for POST.
Defined in RFC 9110 15.3.1
- 201
Created
The request succeeded and a new resource was created.
Typical use: The usual answer to a POST or PUT that adds something, with a Location header giving its address.
Defined in RFC 9110 15.3.2
- 202
Accepted
The request was accepted for processing, but the work is not finished.
Typical use: Queued jobs, such as starting a report or an email send that completes later.
Defined in RFC 9110 15.3.3
- 203
Non-Authoritative Information
The request succeeded, but a proxy changed the response from the origin server.
Typical use: Rare. A transforming proxy marks the content as modified.
Defined in RFC 9110 15.3.4
- 204
No Content
The request succeeded and there is nothing to send back.
Typical use: A DELETE or a save that returns no body. The page stays where it is.
Defined in RFC 9110 15.3.5
- 205
Reset Content
The request succeeded, and the client should reset the view that sent it.
Typical use: Clearing a form after it was submitted. Rarely used.
Defined in RFC 9110 15.3.6
- 206
Partial Content
The server is sending only the part of the file that was asked for.
Typical use: Resuming a download and seeking in video, with a Range request header.
Defined in RFC 9110 15.3.7
- 207
Multi-Status
WebDAV.The body holds separate status codes for several operations.
Typical use: WebDAV requests that touch many files.
Defined in RFC 4918
- 208
Already Reported
WebDAV.The members of a WebDAV binding were already listed earlier in the response.
Typical use: WebDAV, to avoid listing the same item twice.
Defined in RFC 5842
- 226
IM Used
The response is the result of applying one or more instance manipulations to the current resource.
Typical use: Delta encoding. Very rarely seen.
Defined in RFC 3229
- 300
Multiple Choices
There is more than one possible response, and the client may pick one.
Typical use: Rare. The server offers several formats or languages of the same thing.
Defined in RFC 9110 15.4.1
- 301
Moved Permanently
The resource has a new permanent address.
Typical use: A page was moved for good, or http redirects to https. Search engines pass the old address's signals to the new one. Some clients change a POST into a GET.
Defined in RFC 9110 15.4.2
- 302
Found
The resource is temporarily at a different address.
Typical use: A temporary redirect, such as after a login. Some clients change a POST into a GET, so 307 is clearer for new code.
Defined in RFC 9110 15.4.3
- 303
See Other
The response is at another address, and the client should fetch it with GET.
Typical use: Redirecting to a result page after a form POST, so a refresh does not submit it twice.
Defined in RFC 9110 15.4.4
- 304
Not Modified
The cached copy is still current, so no body is sent.
Typical use: A reply to a conditional request with If-None-Match or If-Modified-Since. It saves bandwidth.
Defined in RFC 9110 15.4.5
- 305
Use Proxy
Deprecated.The resource must be reached through a proxy given in the Location header.
Typical use: Do not use. It was a security risk and is deprecated.
Defined in RFC 9110 15.4.6
- 307
Temporary Redirect
The resource is temporarily at another address, and the client must repeat the same method and body there.
Typical use: A temporary redirect that keeps POST as POST.
Defined in RFC 9110 15.4.8
- 308
Permanent Redirect
The resource has a new permanent address, and the client must repeat the same method and body there.
Typical use: A permanent redirect that keeps POST as POST. It is the strict form of 301.
Defined in RFC 9110 15.4.9
- 400
Bad Request
The server cannot process the request because it is malformed or invalid.
Typical use: Broken syntax, an invalid JSON body or a bad parameter. The details should be in the response body.
Defined in RFC 9110 15.5.1
- 401
Unauthorized
The request needs valid login credentials, and they are missing or wrong.
Typical use: No token, an expired token or a wrong password. Despite the name, it is about authentication. The response includes a WWW-Authenticate header.
Defined in RFC 9110 15.5.2
- 402
Payment Required
Reserved.Reserved for future use for digital payment schemes.
Typical use: Some services use it for an unpaid account or a quota that needs paying for, but there is no standard behavior.
Defined in RFC 9110 15.5.3
- 403
Forbidden
The server understood the request but refuses to allow it.
Typical use: The user is known but not permitted, such as a file or admin area they cannot open. Logging in again does not help.
Defined in RFC 9110 15.5.4
- 404
Not Found
The server cannot find the requested resource.
Typical use: A wrong address, a deleted page or a missing record. A server may also use it to hide a resource that exists.
Defined in RFC 9110 15.5.5
- 405
Method Not Allowed
The method is not supported for this resource.
Typical use: Sending POST to an address that accepts only GET. The response lists the allowed methods in an Allow header.
Defined in RFC 9110 15.5.6
- 406
Not Acceptable
The server cannot produce a response that matches the Accept headers.
Typical use: The client asked for a format or language the server does not have.
Defined in RFC 9110 15.5.7
- 407
Proxy Authentication Required
The client must first log in to the proxy.
Typical use: A corporate proxy that requires credentials.
Defined in RFC 9110 15.5.8
- 408
Request Timeout
The server gave up waiting for the request to arrive.
Typical use: A client opened a connection and then sent too slowly or nothing.
Defined in RFC 9110 15.5.9
- 409
Conflict
The request conflicts with the current state of the resource.
Typical use: Creating something that already exists, or saving an edit based on an out-of-date version.
Defined in RFC 9110 15.5.10
- 410
Gone
The resource used to exist and has been removed for good.
Typical use: A deliberate removal. Search engines treat it as a stronger sign than 404 that the page is gone.
Defined in RFC 9110 15.5.11
- 411
Length Required
The server requires a Content-Length header.
Typical use: An upload without a stated size.
Defined in RFC 9110 15.5.12
- 412
Precondition Failed
A condition in the request headers was not met.
Typical use: An If-Match check failed because the resource changed, which prevents overwriting someone else's edit.
Defined in RFC 9110 15.5.13
- 413
Content Too Large
The request body is larger than the server will accept.
Typical use: An upload over the size limit. It was called Payload Too Large before RFC 9110.
Defined in RFC 9110 15.5.14
- 414
URI Too Long
The address is longer than the server will accept.
Typical use: A GET with a huge query string. Move the data into a POST body.
Defined in RFC 9110 15.5.15
- 415
Unsupported Media Type
The server does not support the format of the request body.
Typical use: Sending XML to an API that accepts only JSON, or a missing Content-Type header.
Defined in RFC 9110 15.5.16
- 416
Range Not Satisfiable
The requested byte range is outside the file.
Typical use: A resumed download asking for bytes past the end. It was called Requested Range Not Satisfiable before RFC 9110.
Defined in RFC 9110 15.5.17
- 417
Expectation Failed
The server cannot meet the requirement in the Expect header.
Typical use: Rare. A server that does not support Expect: 100-continue.
Defined in RFC 9110 15.5.18
- 418
I'm a teapot
Reserved, unused.A joke code from an April Fools' specification for a coffee pot protocol.
Typical use: Not for real use. RFC 9110 keeps it reserved so that it is not given another meaning. Some sites return it for blocked bots.
Defined in RFC 2324, RFC 9110 15.5.19
- 421
Misdirected Request
The request was sent to a server that cannot give a response for that address.
Typical use: HTTP/2 connection reuse across hosts that share a certificate but not a server.
Defined in RFC 9110 15.5.20
- 422
Unprocessable Content
The request is well formed, but its content could not be processed.
Typical use: Validation errors in an API, such as a missing field or an invalid email. It was called Unprocessable Entity before RFC 9110.
Defined in RFC 9110 15.5.21
- 423
Locked
WebDAV.The resource is locked.
Typical use: A WebDAV file that someone else has open for editing.
Defined in RFC 4918
- 424
Failed Dependency
WebDAV.The request failed because an earlier request it depended on failed.
Typical use: A WebDAV operation on several resources where one step failed.
Defined in RFC 4918
- 425
Too Early
The server will not process a request that might be replayed.
Typical use: TLS 1.3 early data, which an attacker could replay.
Defined in RFC 8470
- 426
Upgrade Required
The client must switch to a different protocol to continue.
Typical use: A server that requires TLS or a newer HTTP version, naming it in the Upgrade header.
Defined in RFC 9110 15.5.22
- 428
Precondition Required
The server requires the request to be conditional.
Typical use: Forcing clients to send If-Match so that edits cannot overwrite each other.
Defined in RFC 6585
- 429
Too Many Requests
The client has sent too many requests in a given time.
Typical use: Rate limiting. A Retry-After header may say how long to wait.
Defined in RFC 6585
- 431
Request Header Fields Too Large
The request headers are too large, as a whole or one field.
Typical use: Oversized cookies are a common cause.
Defined in RFC 6585
- 451
Unavailable For Legal Reasons
The resource is blocked for legal reasons.
Typical use: A court order, a government block or a copyright takedown. The number is a nod to the novel Fahrenheit 451.
Defined in RFC 7725
- 500
Internal Server Error
The server hit an unexpected problem and could not complete the request.
Typical use: An unhandled exception or bug. It is a generic catch-all, so the server logs hold the real cause.
Defined in RFC 9110 15.6.1
- 501
Not Implemented
The server does not support the feature needed to handle the request.
Typical use: An unknown method, or a feature the server does not have.
Defined in RFC 9110 15.6.2
- 502
Bad Gateway
A gateway or proxy got an invalid response from the server behind it.
Typical use: A load balancer or CDN cannot reach a working application server, or that server crashed.
Defined in RFC 9110 15.6.3
- 503
Service Unavailable
The server cannot handle the request now, usually because it is overloaded or down for maintenance.
Typical use: Planned maintenance or overload. A Retry-After header can say when to come back. Search engines treat it as temporary.
Defined in RFC 9110 15.6.4
- 504
Gateway Timeout
A gateway or proxy did not get a response from the server behind it in time.
Typical use: A slow back end or database behind a proxy.
Defined in RFC 9110 15.6.5
- 505
HTTP Version Not Supported
The server does not support the HTTP version used in the request.
Typical use: Rare today. A server that refuses a very old or very new version of the protocol.
Defined in RFC 9110 15.6.6
- 506
Variant Also Negotiates
Experimental.A content negotiation setup on the server is configured in a circular way.
Typical use: Rare. A server misconfiguration.
Defined in RFC 2295
- 507
Insufficient Storage
WebDAV.The server has no space to store what the request needs.
Typical use: A WebDAV upload to a full disk or quota.
Defined in RFC 4918
- 508
Loop Detected
WebDAV.The server stopped an operation because it found an infinite loop.
Typical use: WebDAV bindings that point back to themselves.
Defined in RFC 5842
- 510
Not Extended
Obsolete.The request needs further extensions that the server does not support.
Typical use: Almost never seen. The HTTP extension framework it belongs to is obsolete.
Defined in RFC 2774
- 511
Network Authentication Required
The client must log in to the network before getting access.
Typical use: A captive portal, such as hotel or airport Wi-Fi, which intercepts requests until you sign in.
Defined in RFC 6585
Names follow RFC 9110 (2022), which renamed a few codes, for example 413 is now Content Too Large and 422 is Unprocessable Content. The list covers the codes registered with IANA that people meet in practice. 306 is unused and 418 is reserved, so neither is a real status. The search runs in your browser and nothing is uploaded.
Related Tools
[5 suggestions]Redirect Rule Generator
Generate 301 and 302 redirect syntax for Apache .htaccess, NGINX, Next.js, and Cloudflare/Netlify.
SEO & MarketingRobots.txt Tester
Paste a robots.txt, pick a crawler and see which URLs are allowed or blocked, and which rule decided.
SEO & MarketingURL Parser and Query Editor
Split a URL into scheme, host, path, query parameters and fragment, then edit the parameters and rebuild the link.
Developer & WebSubnet Calculator
Work out the network, broadcast, host range, usable hosts and masks of an IPv4 address with a prefix or mask, and split a block into subnets.
Developer & WebJSON Formatter
Validate, pretty-print, and minify JSON with clear error reporting for invalid input.
Developer & WebAbout the HTTP Status Code Lookup
A status code is the three-digit number at the start of an HTTP response. The first digit gives the class: 1xx is informational, 2xx is success, 3xx is a redirect, 4xx means the request has a problem and 5xx means the server failed. Searching by number matches the start of the code, so 30 shows 300 to 308 and 4 shows every 4xx code. Searching by words looks in the name, the meaning and the typical use, so rate limit finds 429. The names follow RFC 9110 (2022), which renamed a few codes: 413 is Content Too Large, 414 is URI Too Long, 416 is Range Not Satisfiable and 422 is Unprocessable Content. Each entry says which document defines it. The WebDAV codes (207, 208, 423, 424, 507 and 508) are marked, and codes that are obsolete or reserved, such as 305, 418 and 510, carry a note. The codes 306 and 418 are not used in real responses. Nothing is uploaded.
What is the difference between 401 and 403?▾
401 Unauthorized means the request has no valid login, so the client can try again with the right credentials. 403 Forbidden means the server knows who you are and still refuses, so logging in again will not help.
What is the difference between 301, 302, 307 and 308?▾
301 and 308 are permanent redirects, and 302 and 307 are temporary. 307 and 308 require the client to repeat the same method and body, so a POST stays a POST. With 301 and 302 some clients change a POST into a GET. Search engines treat a permanent redirect as a sign that the new address is the one to keep.
What is the difference between 502, 503 and 504?▾
All three come from a server that is acting as a gateway. 502 Bad Gateway means it got an invalid response from the server behind it. 503 Service Unavailable means it cannot handle requests now, such as during maintenance or overload. 504 Gateway Timeout means the server behind it took too long to answer.
Should a removed page return 404 or 410?▾
Both tell search engines the page is not there, and the page drops out of results over time. 404 Not Found says nothing about why. 410 Gone says the removal is deliberate and permanent. If the page moved, use a 301 redirect to the new address instead.
What do the five classes of status codes mean?▾
1xx informational: the request is still in progress. 2xx success: the request worked. 3xx redirection: the client must take another step. 4xx client error: the request has a problem. 5xx server error: the server failed to handle a valid request.