Complete HTTP status code reference — every code from 100 to 511 with its meaning

61 codes

100Continue
1xx Informational

The initial part of the request was received and the client should continue sending the body.

When: When a client sends an Expect: 100-continue header before uploading a large body and the server is willing to accept it.

101Switching Protocols
1xx Informational

The server agrees to switch to the protocol the client asked for in the Upgrade header.

When: During a WebSocket handshake, or when upgrading from HTTP/1.1 to HTTP/2 over cleartext.

102Processing
1xx Informational

The server has received and is processing the request, but no response is available yet (WebDAV).

When: On long-running WebDAV operations, to keep the client from timing out while work continues.

103Early Hints
1xx Informational

Preliminary headers (such as preload/preconnect Link headers) sent before the final response.

When: When a server wants the browser to start fetching critical assets before the full page response is ready.

200OK
2xx Success

Standard success response. The body contains the requested result.

When: On any successful GET, or a PUT/POST/DELETE that returns a representation of the result.

201Created
2xx Success

The request succeeded and a new resource was created.

When: After a POST/PUT that creates a record; the Location header points to the new resource.

202Accepted
2xx Success

The request was accepted for processing, but processing is not complete.

When: For asynchronous/queued work where the result will be ready later (batch jobs, background tasks).

203Non-Authoritative Information
2xx Success

The returned metadata came from a copy/transforming proxy rather than the origin server.

When: When a proxy modifies the origin's response headers before returning them.

204No Content
2xx Success

Success, but there is no body to return.

When: After a successful DELETE, or a PUT/PATCH where the client does not need the updated body.

205Reset Content
2xx Success

Success; the client should reset the document view that sent the request.

When: After a form submission where the server wants the client to clear the form for a new entry.

206Partial Content
2xx Success

The server is delivering only part of the resource (a byte range).

When: On range requests — video seeking, resumable downloads — when the client sends a Range header.

207Multi-Status
2xx Success

Conveys multiple independent status codes for a batch operation (WebDAV).

When: On WebDAV requests that act on several resources, each with its own result.

208Already Reported
2xx Success

Members of a binding were already enumerated and are not repeated (WebDAV).

When: Inside a 207 Multi-Status response, to avoid repeating already-listed resources.

226IM Used
2xx Success

The server fulfilled the request using instance manipulations applied to the current instance.

When: On delta-encoding requests where only the differences from a known version are returned.

300Multiple Choices
3xx Redirection

The resource has several representations and the client (or user) should pick one.

When: Rarely; when content negotiation cannot pick a single best response automatically.

301Moved Permanently
3xx Redirection

The resource has a new permanent URL; update links and pass on ranking.

When: After a permanent move — domain change, http→https, trailing-slash normalization. Search engines transfer authority.

302Found
3xx Redirection

The resource is temporarily at a different URL; keep using the original.

When: On temporary redirects, e.g. post-login bounce. Note: most clients change the method to GET (use 307 to preserve it).

303See Other
3xx Redirection

Fetch the result from another URL using a GET request.

When: After a POST (Post/Redirect/Get pattern) so a refresh does not re-submit the form.

304Not Modified
3xx Redirection

The cached copy is still valid; no body is sent.

When: On a conditional request (If-None-Match / If-Modified-Since) when the resource hasn't changed — saves bandwidth.

307Temporary Redirect
3xx Redirection

Like 302, but the HTTP method and body must not change.

When: On a temporary redirect where a POST must stay a POST to the new URL.

308Permanent Redirect
3xx Redirection

Like 301, but the HTTP method and body must not change.

When: On a permanent redirect that must preserve POST/PUT (e.g. an API endpoint that moved).

400Bad Request
4xx Client Error

The server could not understand the request due to malformed syntax or invalid framing.

When: On invalid JSON, a missing required field, or a malformed query string. Fix the request and retry.

401Unauthorized
4xx Client Error

Authentication is required and has failed or not been provided.

When: When a token/credential is missing, expired, or invalid. The response carries a WWW-Authenticate header.

402Payment Required
4xx Client Error

Reserved for future use; increasingly used for billing/quota gates.

When: On some APIs when a paid plan or quota is exhausted (Stripe, GitHub, etc.).

403Forbidden
4xx Client Error

The server understood the request but refuses to authorize it.

When: When you are authenticated but lack permission, or the server hides a resource from you. Re-auth won't help.

404Not Found
4xx Client Error

The resource could not be found at this URL.

When: On a wrong/deleted URL, a typo, or when a server hides a resource it doesn't want to reveal exists.

405Method Not Allowed
4xx Client Error

The HTTP method is not supported for this resource.

When: When you POST to a read-only endpoint, or DELETE something that only allows GET. The Allow header lists valid methods.

406Not Acceptable
4xx Client Error

No representation matches the client's Accept headers.

When: When the client demands a content type/language the server cannot produce.

407Proxy Authentication Required
4xx Client Error

The client must authenticate with a proxy first.

When: Behind a corporate proxy that requires credentials before forwarding the request.

408Request Timeout
4xx Client Error

The server timed out waiting for the request to be sent.

When: When the client opened a connection but was too slow to send the full request.

409Conflict
4xx Client Error

The request conflicts with the current state of the resource.

When: On a version/edit conflict, a duplicate unique key, or concurrent updates (optimistic locking).

410Gone
4xx Client Error

The resource was intentionally removed and will not come back.

When: When content is permanently deleted and you want crawlers to drop it (stronger signal than 404).

411Length Required
4xx Client Error

The server requires a Content-Length header.

When: When a request with a body omits Content-Length and the server won't accept chunked transfer.

412Precondition Failed
4xx Client Error

A precondition in the request headers evaluated to false.

When: On a conditional write (If-Match / If-Unmodified-Since) when the resource changed underneath you.

413Payload Too Large
4xx Client Error

The request body is larger than the server is willing to process.

When: On oversized file uploads or request bodies exceeding a configured limit.

414URI Too Long
4xx Client Error

The request URI is longer than the server will interpret.

When: When too much data is crammed into the query string (use a POST body instead).

415Unsupported Media Type
4xx Client Error

The request body is in a format the resource does not support.

When: When you send XML to a JSON-only endpoint, or omit/mismatch the Content-Type header.

416Range Not Satisfiable
4xx Client Error

The requested byte range cannot be served.

When: On a Range request whose start is beyond the end of the file.

417Expectation Failed
4xx Client Error

The expectation in the Expect header cannot be met.

When: When the server cannot honor an Expect: 100-continue request.

418I'm a teapot
4xx Client Error

An April Fools' joke code (RFC 2324) — the server refuses to brew coffee.

When: As an easter egg; some APIs return it deliberately for fun or to signal a blocked/unsupported action.

421Misdirected Request
4xx Client Error

The request was sent to a server that cannot produce a response for it.

When: On HTTP/2 connection coalescing when a request lands on the wrong origin.

422Unprocessable Entity
4xx Client Error

The request was well-formed but is semantically invalid.

When: On validation failures — correct JSON but a value fails business rules (most common in REST APIs).

423Locked
4xx Client Error

The resource being accessed is locked (WebDAV).

When: When another client holds a WebDAV lock on the resource.

424Failed Dependency
4xx Client Error

The request failed because a dependent request failed (WebDAV).

When: Inside a batch where an earlier operation it relied on already failed.

425Too Early
4xx Client Error

The server is unwilling to process a request that might be replayed.

When: On TLS 1.3 early-data (0-RTT) requests the server won't risk replaying.

426Upgrade Required
4xx Client Error

The client must switch to a different protocol.

When: When the server insists on TLS or a newer protocol via the Upgrade header.

428Precondition Required
4xx Client Error

The server requires the request to be conditional.

When: To prevent the lost-update problem — the server demands an If-Match header on writes.

429Too Many Requests
4xx Client Error

The client has sent too many requests in a given time (rate limiting).

When: When you hit an API rate limit. Honor the Retry-After header and back off before retrying.

431Request Header Fields Too Large
4xx Client Error

Headers are too large for the server to process.

When: On bloated cookies or an oversized Authorization/Referer header.

451Unavailable For Legal Reasons
4xx Client Error

The resource is blocked for legal reasons (e.g. censorship, DMCA).

When: When content is geo-blocked or removed due to a legal demand.

500Internal Server Error
5xx Server Error

A generic, unexpected server-side failure.

When: On an unhandled exception or crash. The request may be fine; retrying sometimes helps, but it's a server bug.

501Not Implemented
5xx Server Error

The server does not support the functionality required to fulfil the request.

When: When you use a method the server doesn't recognize or hasn't implemented yet.

502Bad Gateway
5xx Server Error

A gateway/proxy received an invalid response from an upstream server.

When: When a reverse proxy (nginx, a load balancer) can't get a valid reply from the app behind it.

503Service Unavailable
5xx Server Error

The server is temporarily overloaded or down for maintenance.

When: During deploys, maintenance windows, or overload. Often carries a Retry-After header.

504Gateway Timeout
5xx Server Error

A gateway/proxy did not get a timely response from an upstream server.

When: When the backend is too slow and the proxy gives up waiting (long queries, hung services).

505HTTP Version Not Supported
5xx Server Error

The server does not support the HTTP protocol version used in the request.

When: When a client speaks an HTTP version the server refuses.

506Variant Also Negotiates
5xx Server Error

A content-negotiation configuration error on the server.

When: On a misconfigured server where transparent negotiation loops.

507Insufficient Storage
5xx Server Error

The server cannot store the representation needed to complete the request (WebDAV).

When: When a WebDAV server is out of disk/quota for the write.

508Loop Detected
5xx Server Error

The server detected an infinite loop while processing (WebDAV).

When: On a WebDAV operation that would recurse forever.

510Not Extended
5xx Server Error

Further extensions to the request are required for the server to fulfil it.

When: Rarely; when a required HTTP extension is missing from the request.

511Network Authentication Required
5xx Server Error

The client must authenticate to gain network access.

When: Behind a captive portal (airport/hotel Wi-Fi) before you've signed in.

Based on the IANA HTTP Status Code Registry and RFC 9110. Runs entirely in your browser — nothing is sent anywhere.

🌐 HTTP Status Codes — Free Online Tool

Look up HTTP status codes and their meanings, free. HTTP status codes are three-digit numbers a server returns to describe the result of a request — 200 OK, 404 Not Found, 500 Internal Server Error, and many more, defined in RFC 9110. This reference lists every standard code by class (1xx–5xx) with a clear explanation of what each means and when it's used.

🚀 Why use this HTTP Status Codes tool?

It groups every standard code into its five classes (1xx informational, 2xx success, 3xx redirect, 4xx client error, 5xx server error) with plain-English meanings, so you can resolve an unfamiliar code fast. 100% free, no registration, and complete privacy — everything runs locally in your browser, so your data never touches a server.

Key Features

📚Complete reference

Every standard status code with its name and a clear explanation of what it signals.

🗂️Grouped by class

Organized into 1xx–5xx so you instantly know whether a code is success, redirect, or error.

🔎Fast lookup

Find the meaning of a code like 401, 403, or 502 without digging through the spec.

🧭Spec-accurate

Definitions follow RFC 9110 (and related RFCs), the authoritative HTTP semantics standard.

Popular Use Cases

Debugging APIs

  • Decode a failing response
  • Tell client vs server error
  • Pick the right code to return

Web development

  • Handle redirects correctly
  • Set proper error codes
  • Document an API

Learning

  • Understand 4xx vs 5xx
  • Learn less-common codes
  • Interview prep

What It Handles

Classes

  • 1xx informational
  • 2xx success / 3xx redirect
  • 4xx client / 5xx server

Per code

  • Number & name
  • Plain-English meaning
  • When it's used

Reference

  • RFC 9110 aligned
  • Common + rare codes
  • Quick scan

Sources & References

Frequently Asked Questions

What do the HTTP status code classes mean?

The first digit sets the class: 1xx informational, 2xx success, 3xx redirection, 4xx client error (the request was wrong), and 5xx server error (the server failed). The class alone tells you who's responsible — the client or the server.

What's the difference between 401 and 403?

401 Unauthorized means you're not authenticated (no or invalid credentials) — log in. 403 Forbidden means you are authenticated but not allowed to access the resource — credentials won't help.

What does 502 vs 504 mean?

Both are 5xx gateway errors: 502 Bad Gateway means an upstream server returned an invalid response; 504 Gateway Timeout means an upstream server didn't respond in time. They point at a backend or proxy problem, not the client.

Is 200 always success?

200 OK means the request succeeded at the HTTP level, but an API can still return an application error inside a 200 body. For REST, prefer accurate codes (e.g. 201 Created, 400 Bad Request) over a blanket 200.

Where are these codes defined?

The core codes are standardized in RFC 9110 (HTTP Semantics), which superseded RFC 7231; some codes come from related RFCs (e.g. 418 from a joke RFC). This reference follows those standards.

🎓 Pro Tips

  • Tip 1: Return the most specific code you can — 201 for created, 204 for no content, 422 for validation — instead of a generic 200 or 400.
  • Tip 2: Use 401 for 'not logged in' and 403 for 'logged in but not allowed' — mixing them confuses clients.
  • Tip 3: 3xx redirects should include a Location header; 301 is permanent (cached), 302/307 are temporary.