Skip to main content
ToolsHub

HTTP Status Codes

Search or browse every HTTP status code by number or name, with a plain-English meaning and typical use case for each.

Files never leave your browser
CodeNameDescriptionWhen to use
100ContinueThe server received the request headers and the client should proceed to send the request body.Sent in response to an Expect: 100-continue header before a large upload.
101Switching ProtocolsThe server is switching protocols as requested by the client via the Upgrade header.Upgrading an HTTP connection to WebSocket.
102ProcessingThe server has received and is processing the request, but no response is available yet (WebDAV).Long-running WebDAV operations to prevent client timeouts.
103Early HintsUsed to return preliminary headers (e.g. Link) before the final response.Preloading resources while the server prepares the final response.
200OKThe request succeeded. The meaning depends on the HTTP method.Standard success response for GET, PUT, or POST that returns a body.
201CreatedThe request succeeded and a new resource was created.POST that creates a resource — include a Location header.
202AcceptedThe request has been accepted for processing, but processing is not complete.Asynchronous or queued processing.
203Non-Authoritative InformationThe response is a transformed version from a proxy, not the origin.Responses modified by a transforming proxy.
204No ContentThe request succeeded but there is no content to return.Successful DELETE or PATCH with no response body.
205Reset ContentTells the client to reset the document view that sent the request.Clearing a form after submission.
206Partial ContentThe server is delivering part of the resource due to a Range header.Resumable downloads and media streaming.
207Multi-StatusConveys information about multiple resources in one response (WebDAV).Batch WebDAV operations with mixed outcomes.
208Already ReportedMembers of a DAV binding already enumerated in a previous reply (WebDAV).Avoiding repeated enumeration in WebDAV.
226IM UsedThe server fulfilled the request and the response is the result of instance manipulations.Delta encoding responses.
300Multiple ChoicesThe request has more than one possible response; the client should choose.Content available in multiple formats.
301Moved PermanentlyThe resource has permanently moved to a new URL.Permanent redirects that pass SEO value.
302FoundThe resource is temporarily located at a different URL.Temporary redirects (method may change to GET).
303See OtherThe client should retrieve the resource at another URL using GET.Redirect after a POST to a confirmation page.
304Not ModifiedThe cached version is still valid; no need to retransmit.Conditional GET with If-None-Match or If-Modified-Since.
307Temporary RedirectThe resource is temporarily at another URL; the method must not change.Temporary redirect preserving the HTTP method.
308Permanent RedirectThe resource is permanently at another URL; the method must not change.Permanent redirect preserving the HTTP method.
400Bad RequestThe server cannot process the request due to a client error (malformed syntax).Invalid request syntax or validation failure.
401UnauthorizedAuthentication is required and has failed or not been provided.Missing or invalid credentials.
402Payment RequiredReserved for future use; sometimes used by payment-gated APIs.Indicating payment or quota is required.
403ForbiddenThe server understood the request but refuses to authorize it.Authenticated but lacking permission.
404Not FoundThe server cannot find the requested resource.Resource does not exist or URL is wrong.
405Method Not AllowedThe HTTP method is not supported for the target resource.POST to a read-only endpoint — include an Allow header.
406Not AcceptableNo representation matches the Accept headers sent by the client.Content negotiation failure.
407Proxy Authentication RequiredThe client must authenticate with the proxy first.Proxy requiring credentials.
408Request TimeoutThe server timed out waiting for the request.Client too slow to send a complete request.
409ConflictThe request conflicts with the current state of the resource.Edit conflicts or uniqueness violations.
410GoneThe resource is permanently gone and will not return.Permanently removed content (better than 404 for SEO).
411Length RequiredThe server requires a Content-Length header.Rejecting requests without a content length.
412Precondition FailedA precondition in the request headers evaluated to false.Conditional requests with If-Match that fail.
413Payload Too LargeThe request entity is larger than the server is willing to process.Upload exceeding size limits.
414URI Too LongThe requested URI is longer than the server can interpret.Excessively long query strings.
415Unsupported Media TypeThe request media format is not supported by the resource.Wrong Content-Type for an endpoint.
416Range Not SatisfiableThe Range header cannot be fulfilled.Requested byte range is outside the resource size.
417Expectation FailedThe expectation in the Expect header cannot be met.Failed Expect: 100-continue.
418I'm a TeapotThe server refuses to brew coffee because it is a teapot (RFC 2324 joke).An Easter egg; occasionally used for blocked requests.
422Unprocessable EntityThe request is well-formed but contains semantic errors.Validation errors on syntactically valid JSON.
423LockedThe resource being accessed is locked (WebDAV).WebDAV resource locking.
424Failed DependencyThe request failed because a dependent request failed (WebDAV).WebDAV operations that depend on a failed action.
425Too EarlyThe server is unwilling to risk processing a request that might be replayed.Preventing replay attacks in TLS early data.
426Upgrade RequiredThe client should switch to a different protocol.Requiring a TLS or protocol upgrade.
428Precondition RequiredThe origin server requires the request to be conditional.Preventing lost updates by requiring If-Match.
429Too Many RequestsThe user has sent too many requests in a given time (rate limiting).Rate limiting — include a Retry-After header.
431Request Header Fields Too LargeThe header fields are too large for the server to process.Oversized headers or cookies.
451Unavailable For Legal ReasonsThe resource is unavailable due to legal demands.Content blocked by legal order or censorship.
500Internal Server ErrorA generic error occurred on the server.Unhandled server-side exceptions.
501Not ImplementedThe server does not support the functionality required.Unimplemented HTTP method or feature.
502Bad GatewayThe server, acting as a gateway, received an invalid upstream response.Upstream server failure behind a proxy or load balancer.
503Service UnavailableThe server is not ready to handle the request (overload or maintenance).Maintenance windows or overload — include Retry-After.
504Gateway TimeoutThe gateway did not get a timely response from the upstream server.Upstream server too slow behind a proxy.
505HTTP Version Not SupportedThe HTTP version used in the request is not supported.Rejecting unsupported protocol versions.
506Variant Also NegotiatesInternal configuration error in content negotiation.Misconfigured transparent negotiation.
507Insufficient StorageThe server cannot store the representation needed (WebDAV).WebDAV storage exhaustion.
508Loop DetectedThe server detected an infinite loop while processing (WebDAV).WebDAV infinite loop prevention.
510Not ExtendedFurther extensions to the request are required to fulfill it.Required HTTP extensions are missing.
511Network Authentication RequiredThe client must authenticate to gain network access.Captive portals on public Wi-Fi.

The full list is bundled and searched in your browser — no requests are made.

How to use HTTP Status Codes

The HTTP Status Codes reference provides a searchable, filterable list of every standard HTTP response code from 1xx informational to 5xx server errors. Each entry includes the official name, a plain-English description, and practical guidance on when to use or expect the code. The full dataset is bundled locally — no network request needed to search.

  1. Type a code number (e.g. 404) or keyword (e.g. "not found") in the search box to filter the list.
  2. Use the class buttons (1xx, 2xx, 3xx, 4xx, 5xx) to filter by response category.
  3. Click any row to expand the full description and usage guidance.
  4. Use the search to quickly look up an unfamiliar status code during API debugging.

Your data never leaves your device — 100% private processing.

HTTP status code classes

HTTP status codes are three-digit numbers grouped by their first digit. 1xx codes are informational — the request was received and is being processed (e.g. 100 Continue lets a client know it can send a request body). 2xx codes indicate success: 200 OK is the standard response, 201 Created confirms a new resource was made, 204 No Content confirms success with no body. 3xx codes are redirections: 301 Moved Permanently and 308 Permanent Redirect pass SEO equity; 302 and 307 are temporary. 4xx codes are client errors caused by bad requests: 400 Bad Request, 401 Unauthorized (not authenticated), 403 Forbidden (authenticated but not allowed), 404 Not Found. 5xx codes are server errors: 500 Internal Server Error, 502 Bad Gateway (upstream failure), 503 Service Unavailable (overloaded or maintenance).

HTTP status code classes overview
ClassRangeMeaningCommon examples
1xx100–199Informational100 Continue, 101 Switching Protocols
2xx200–299Success200 OK, 201 Created, 204 No Content
3xx300–399Redirection301 Moved, 302 Found, 304 Not Modified
4xx400–499Client Error400 Bad Request, 401 Unauthorized, 404 Not Found
5xx500–599Server Error500 Internal Server Error, 503 Unavailable

Choosing the right status code for REST APIs

Returning the semantically correct status code matters for API clients, caches, and SEO crawlers. Use 201 Created (not 200) when a POST creates a new resource, and include a Location header pointing to it. Use 204 No Content for successful DELETE or PATCH with no response body. Distinguish 400 Bad Request (malformed syntax or validation failure) from 422 Unprocessable Entity (syntactically valid but semantically incorrect data). Use 401 only when authentication is missing or invalid — not when the user lacks permission (that is 403). Return 409 Conflict when a PUT would violate a uniqueness constraint. Use 429 Too Many Requests with a Retry-After header for rate limiting. Never use 200 with an error payload — this breaks client error detection and caching.

Glossary

HTTP
HyperText Transfer Protocol — the application-layer protocol for distributed, collaborative, hypermedia information systems.
Idempotent
A property of an HTTP method where multiple identical requests produce the same result as a single request; GET, PUT, DELETE are idempotent; POST is not.
Cache-Control
An HTTP header that directs caching behaviour; status codes 200, 301, and 410 are cacheable by default without Cache-Control.
Content negotiation
The mechanism by which a server selects the best representation for a response based on Accept headers; 406 Not Acceptable is returned when no match is found.
Rate limiting
Server-side enforcement of request quotas; properly indicated with 429 Too Many Requests and a Retry-After header.

Related reading

Frequently Asked Questions

Free · No spam

Get weekly tool tips & updates

New tools, power-user tips, and productivity hacks — delivered free every Friday.

No spam, ever. Unsubscribe with one click.

Why use HTTP Status Codes?

  • No installation — use directly from any browser
  • Handles large inputs without crashing or timeouts
  • Syntax highlighting and formatted output for readability
  • Copy to clipboard shortcut for fast workflow integration

Common use cases

  • Validate and format JSON responses from APIs
  • Encode/decode Base64 strings during debugging
  • Generate UUIDs for database seeds or test data
  • Minify CSS or JavaScript before deployment
  • Diff two code snippets to spot regressions

Related Developer Tools

Explore all Developer Tools.