HTTP Status Codes
A searchable reference for the full HTTP status code set. Browse by class or look up a single code and see where it sits.
- Codes
- 63 documented
- Classes
- 1xx – 5xx
- Showing
- 63 results
- Local
- 100% browser
Look up a code
Type a number to see its name, meaning, and the codes nearest to it
Lookup result
HTTP 404 Not Found
Not Found
The server cannot find the requested resource.
Typical use — Unknown routes, deleted records, hidden files.
Nearest codes
- Unauthorized
- Payment Required
- Forbidden
- Method Not Allowed
- Not Acceptable
Class overview
What each range means
- 1xx100–103
Informational
The request was received and the process is continuing.
- 2xx200–226
Success
The request was received, understood, and accepted.
- 3xx300–308
Redirection
Further action is needed to complete the request.
- 4xx400–451
Client error
The request was faulty and cannot be fulfilled.
- 5xx500–511
Server error
The server failed to fulfil an apparently valid request.
Browse the list
63 of 63 codes match
- 1001xx
Continue
The initial part of the request has been received and the client should continue.
Use — Sent with Expect: 100-continue while uploading a large body.
- 1011xx
Switching Protocols
The requester asked the server to switch protocols and the server agreed.
Use — WebSocket upgrades and HTTP/2 or h2c negotiation.
- 1021xx
Processing
The server has received and is processing the request, but no response is ready yet.
Use — WebDAV long-running uploads.
- 1031xx
Early Hints
Preliminary headers are sent before the final response so the client can start preloading.
Use — Link preload headers for critical resources.
- 2002xx
OK
The request succeeded. The response body depends on the method.
Use — Default success for GET, or a read from an API.
- 2012xx
Created
The request succeeded and one or more new resources were created.
Use — POST that creates a user, order, or record.
- 2022xx
Accepted
The request was accepted for processing but has not been completed.
Use — Queued background jobs and batch submissions.
- 2032xx
Non-Authoritative Information
The response is a modified copy of what the origin server returned.
Use — Mirrors or proxies rewriting an upstream body.
- 2042xx
No Content
The server successfully processed the request and returns no body.
Use — DELETE, and PUT with no returned representation.
- 2052xx
Reset Content
Succeeded, but the client should reset the document view that caused the request.
Use — Clearing a form after a successful submit.
- 2062xx
Partial Content
Only part of the resource is being delivered, per a Range header.
Use — Resumable downloads and media seeking.
- 2072xx
Multi-Status
The body contains multiple independent status codes, not just one.
Use — WebDAV per-property results.
- 2082xx
Already Reported
The members of a DAV binding have already been enumerated and are not repeated.
Use — WebDAV repeating a prior Propfind result.
- 2262xx
IM Used
The server fulfilled the request and the response is the result of instance manipulations.
Use — Delta encoding in HTTP compression.
- 3003xx
Multiple Choices
The request has more than one possible response and the client must pick one.
Use — Ambiguous resource selection.
- 3013xx
Moved Permanently
The resource has a new permanent URL; update your links.
Use — Domain migrations and http to https.
- 3023xx
Found
The resource lives temporarily at a different URL.
Use — Legacy short-link and login redirect flows.
- 3033xx
See Other
The response to the request can be found at another URL using GET.
Use — Redirect after a form POST.
- 3043xx
Not Modified
The cached copy is still fresh; no body is sent.
Use — Conditional GET with If-None-Match or If-Modified-Since.
- 3053xx
Use Proxy
The resource must be accessed through the proxy given in the response.
Use — Legacy proxy redirection.
- 3063xx
Switch Proxy
The request must be repeated at the URI given in the response, using a proxy.
Use — Reserved and rarely implemented. Most clients fall back to 302 behaviour.
- 3073xx
Temporary Redirect
The request must be repeated at another URL, keeping the method and body.
Use — Preserving POST semantics across a temporary move.
- 3083xx
Permanent Redirect
Like 307 but the move is permanent and cacheable.
Use — Permanent http to https enforcement.
- 4004xx
Bad Request
The server cannot process the request because of a client syntax error.
Use — Malformed JSON, bad query parameters.
- 4014xx
Unauthorized
Authentication is required and has failed or has not been provided.
Use — Missing or expired credentials; include WWW-Authenticate.
- 4024xx
Payment Required
Reserved for future use, originally for digital payment schemes.
Use — Quota or billing walls; widely used by WebTorrent and paywalls.
- 4034xx
Forbidden
The server understood the request but refuses to authorise it.
Use — Authenticated but not permitted, or WAF blocks.
- 4044xx
Not Found
The server cannot find the requested resource.
Use — Unknown routes, deleted records, hidden files.
- 4054xx
Method Not Allowed
The method is known by the server but not supported for this resource.
Use — POST to a read-only endpoint; include Allow header.
- 4064xx
Not Acceptable
No representation is available matching the Accept headers.
Use — Unsupported Accept-Encoding or media type.
- 4074xx
Proxy Authentication Required
The client must authenticate with a proxy first.
Use — Corporate proxy login challenges.
- 4084xx
Request Timeout
The server gave up waiting for the request to be sent.
Use — Slow or stalled uploads.
- 4094xx
Conflict
The request conflicts with the current state of the resource.
Use — Version conflicts on PUT, duplicate unique keys.
- 4104xx
Gone
The resource was deliberately removed and will not come back.
Use — Signals crawlers to drop an index, softer than 404.
- 4114xx
Length Required
The server refuses the request without a Content-Length header.
Use — Chunked uploads rejected by strict servers.
- 4124xx
Precondition Failed
A condition given in the request headers evaluated false.
Use — If-Match checks for optimistic concurrency.
- 4134xx
Payload Too Large
The request body is larger than the server is willing to process.
Use — Upload size limits; body must be smaller than limits.
- 4144xx
URI Too Long
The request target is longer than the server will interpret.
Use — Overlong query strings or URLs.
- 4154xx
Unsupported Media Type
The body is in a format the endpoint does not accept.
Use — Sending JSON to a form-only endpoint.
- 4164xx
Range Not Satisfiable
The requested range cannot be fulfilled.
Use — Resume offsets past the end of a file.
- 4174xx
Expectation Failed
The Expect header expectation cannot be met.
Use — Expect: 100-continue rejected by the server.
- 4184xx
I'm a Teapot
The server refuses to brew coffee because it is a teapot. A joke spec.
Use — Easter eggs and health checks for spec compliance.
- 4214xx
Misdirected Request
The request was directed at a server unable to produce a response.
Use — A client reusing a connection for the wrong authority.
- 4224xx
Unprocessable Entity
Syntax is fine but the instructions cannot be followed due to semantic errors.
Use — Field-level validation errors in JSON APIs.
- 4234xx
Locked
The resource is locked.
Use — WebDAV locked files.
- 4244xx
Failed Dependency
The request failed because it depended on another request that failed.
Use — WebDAV transactional batch failures.
- 4254xx
Too Early
The server is unwilling to process a request that might be replayed.
Use — TLS 1.3 early data replay protection.
- 4264xx
Upgrade Required
The client must switch to a different protocol.
Use — Send Upgrade and Upgrade-Insecure-Requests headers.
- 4284xx
Precondition Required
The server requires the request to be conditional.
Use — If-Match to prevent lost updates.
- 4294xx
Too Many Requests
The user has sent too many requests in a given amount of time.
Use — Rate limiting; pair with Retry-After.
- 4314xx
Request Header Fields Too Large
The header fields are too large to process.
Use — Oversized cookies or bearer tokens.
- 4514xx
Unavailable For Legal Reasons
Blocked as a consequence of a legal demand.
Use — Court orders and government takedowns.
- 5005xx
Internal Server Error
The server hit an unexpected condition and cannot fulfil the request.
Use — Unhandled exception, the catch-all server bug.
- 5015xx
Not Implemented
The server does not support the functionality required to fulfil the request.
Use — Unknown HTTP verb, or HTTP/1.0 talking to an HTTP/2-only server.
- 5025xx
Bad Gateway
A server acting as gateway or proxy got an invalid response upstream.
Use — Upstream service down, nginx in front of a dead node.
- 5035xx
Service Unavailable
The server is temporarily unable to handle the request.
Use — Maintenance windows, deploys, overloaded backends; include Retry-After.
- 5045xx
Gateway Timeout
A gateway or proxy did not receive a timely response upstream.
Use — Upstream too slow, proxy read timeout.
- 5055xx
HTTP Version Not Supported
The server does not support the HTTP protocol version used in the request.
Use — Rejecting an experimental protocol version.
- 5065xx
Variant Also Negotiates
A misconfigured transparent proxy produced a circular reference.
Use — Rare proxy misconfiguration.
- 5075xx
Insufficient Storage
The server cannot store the representation needed to complete the request.
Use — WebDAV quota exceeded.
- 5085xx
Loop Detected
The server terminated an operation because it encountered an infinite loop.
Use — WebDAV recursive expansion.
- 5105xx
Not Extended
Further extensions to the request are required for the server to fulfil it.
Use — Deprecated in practice; rare.
- 5115xx
Network Authentication Required
The client must authenticate to gain network access.
Use — Captive portals and intercepting proxies.