HTTP Status Code Reference
A complete reference guide for all HTTP status codes with descriptions and practical tips.
31 status codes found
Continue
The server has received the request headers and the client should proceed to send the request body.
Tip: Used when the client sends a large body and wants to check if the server will accept it before sending.
Switching Protocols
The server is switching protocols as requested by the client via the Upgrade header.
Tip: Commonly used when upgrading from HTTP to WebSocket connections.
Processing
The server has received and is processing the request, but no response is available yet.
Tip: Used for long-running operations to prevent client timeout.
OK
The request has succeeded. The meaning of the success depends on the HTTP method used.
Tip: This is the standard response for successful HTTP requests.
Created
The request has been fulfilled and a new resource has been created.
Tip: Typically returned after a POST request that creates a new record.
Accepted
The request has been accepted for processing, but the processing has not been completed.
Tip: Used for asynchronous operations where the result is not immediately available.
No Content
The server has successfully fulfilled the request but does not need to return an entity-body.
Tip: Common after a successful DELETE request or a PUT that doesn't return content.
Partial Content
The server has fulfilled the partial GET request for the resource.
Tip: Used for resumable downloads and video streaming with range requests.
Multiple Choices
The requested resource has multiple representations, each with its own URI.
Tip: Rarely used; the server should indicate a preferred choice.
Moved Permanently
The requested resource has been assigned a new permanent URI.
Tip: Use for permanent URL changes. Search engines will update their index to the new URL.
Found
The requested resource resides temporarily under a different URI.
Tip: Commonly used for temporary redirects. However, 307 is preferred for preserving the HTTP method.
See Other
The response to the request can be found under another URI using a GET method.
Tip: Used after a POST to redirect the client to a confirmation page via GET.
Not Modified
The resource has not been modified since the last request.
Tip: Essential for browser caching. No body is sent with this response.
Temporary Redirect
The requested resource resides temporarily under a different URI, preserving the request method.
Tip: Preferred over 302 when you need to ensure the HTTP method is not changed.
Permanent Redirect
The resource is now permanently located at another URI, preserving the request method.
Tip: Preferred over 301 when you need to ensure the HTTP method is not changed.
Bad Request
The server cannot process the request due to client error (e.g., malformed request syntax).
Tip: Validate input on the client side before sending requests to avoid this error.
Unauthorized
The request requires user authentication.
Tip: The client must authenticate itself to get the requested response. Check your API keys or tokens.
Forbidden
The server understood the request but refuses to authorize it.
Tip: Unlike 401, authentication will not help. The user does not have permission for this resource.
Not Found
The requested resource could not be found on the server.
Tip: Check the URL for typos. This is the most common error on the web.
Method Not Allowed
The method received in the request is not supported by the target resource.
Tip: Check if you are using the correct HTTP method (GET, POST, PUT, DELETE, etc.).
Request Timeout
The server did not receive a complete request within the time it was prepared to wait.
Tip: The client may retry the request without modifications.
Conflict
The request could not be completed due to a conflict with the current state of the resource.
Tip: Common when trying to create a resource that already exists or edit with stale data.
Gone
The requested resource is no longer available and no forwarding address is known.
Tip: Unlike 404, this indicates the resource was intentionally removed permanently.
Unprocessable Entity
The server understands the content type and syntax but was unable to process the instructions.
Tip: Common in API validation when the data format is correct but values are invalid.
Too Many Requests
The user has sent too many requests in a given amount of time (rate limiting).
Tip: Implement exponential backoff and respect the Retry-After header.
Internal Server Error
The server encountered an unexpected condition that prevented it from fulfilling the request.
Tip: Check server logs for the root cause. This is a catch-all for unhandled server errors.
Not Implemented
The server does not support the functionality required to fulfill the request.
Tip: The server does not recognize the request method or lacks the ability to fulfill it.
Bad Gateway
The server received an invalid response from an upstream server it accessed while fulfilling the request.
Tip: Often occurs when a reverse proxy cannot reach the application server behind it.
Service Unavailable
The server is currently unable to handle the request due to temporary overloading or maintenance.
Tip: This is typically temporary. Check the Retry-After header for when to retry.
Gateway Timeout
The server did not receive a timely response from an upstream server.
Tip: The upstream server is taking too long to respond. Check if the backend service is healthy.
HTTP Version Not Supported
The server does not support the HTTP protocol version used in the request.
Tip: Ensure you are using HTTP/1.1 or HTTP/2 as supported by the server.
Introduction
Every HTTP request and response carries a three-digit status code that tells the client what happened — but the difference between 401 Unauthorized and 403 Forbidden, or between 301 Moved Permanently and 302 Found, is easy to confuse when you are debugging a failing API call or a broken redirect chain. An HTTP status code reference puts every registered IANA status code at your fingertips with plain-language explanations, common causes, and troubleshooting guidance so you can resolve issues faster than searching through RFC specifications.
What Is HTTP Status Code Reference?
An HTTP status code reference is a searchable catalog of all IANA-registered HTTP response status codes organized by their five category classes. The 1xx range contains informational responses like 100 Continue, the 2xx range signals successful operations from 200 OK through 206 Partial Content, the 3xx range covers redirection semantics, the 4xx range represents client errors, and the 5xx range indicates server-side failures. Each code is accompanied by its official name, a plain-English description, and the RFC document that defines it.
Beyond the well-known codes (200, 301, 404, 500), the reference covers codes that developers encounter less frequently but that carry important semantic meaning. Status 429 Too Many Requests tells a rate-limited client when to retry via the Retry-After header. Status 422 Unprocessable Entity distinguishes a syntactically valid but semantically invalid JSON payload from a malformed 400 Bad Request. Status 103 Early Hints allows a server to send resource hints before the final response body is ready.
The reference also documents unofficial but widely used codes adopted by major platforms: 520 Web Server Returned an Unknown Error (Cloudflare), 521 Web Server Is Down, and 522 Connection Timed Out. These codes appear frequently in CDN diagnostics but are not part of any RFC, so developers often struggle to find authoritative explanations — this reference fills that gap with descriptions sourced from vendor documentation.
HTTP Status Code Reference Examples
| Input | Output |
|---|---|
| Search: "401" | 401 Unauthorized — Authentication is required; differs from 403 which means authenticated but forbidden |
| Search: "rate limit" | 429 Too Many Requests — Client sent too many requests in a given time; check Retry-After header |
| Browse: 3xx category | 300, 301, 302, 303, 304, 307, 308 — all redirection codes with SEO implications explained |
Key Features of HTTP Status Code Reference
- Complete catalog of all 60+ IANA-registered HTTP status codes with official names and RFC citations
- Category filtering by class: 1xx informational, 2xx success, 3xx redirection, 4xx client error, 5xx server error
- Keyword search across code numbers, official names, and plain-language descriptions
- Unofficial code coverage for Cloudflare (520-526), Nginx, and Microsoft IIS vendor-specific codes
- Distinction explanations for easily confused pairs like 401 vs 403 and 301 vs 302 vs 307 vs 308
- SEO impact notes for redirection codes explaining link-equity implications of 301 vs 302
- Quick copy of the status code and name for use in documentation, error pages, and API specifications
How It Works
Browse or Search the Status Code Reference
Scroll through the categorized list of HTTP response codes organized by class: informational 1xx, success 2xx, redirection 3xx, client errors 4xx, and server errors 5xx. Each entry shows the numeric code, its official name, and a concise explanation of when it is returned.
Filter by Code Number or Keyword
Type a status code number like 404 or a keyword like timeout into the search field to instantly narrow the list to matching entries. This is faster than scrolling when you know the code but need to confirm its exact meaning or when you remember the description but not the number.
Copy Code Details for Documentation
Click any status code entry to copy its code and description for use in API documentation, error handling code comments, or incident reports. Having the official description at hand prevents the common mistake of mislabeling status codes in technical writing.
Who Uses This
API Developers
looking up the most appropriate status code for each API response during endpoint design, ensuring their REST API returns semantically correct codes like 201 for resource creation instead of a generic 200
Site Reliability Engineers
referencing status codes during incident response when monitoring dashboards show spikes in 5xx errors, quickly confirming what each specific code means to assess the severity and nature of the failure
Technical Writers
verifying the correct status code names and descriptions when documenting API error responses, avoiding the common error of confusing similar codes like 401 Unauthorized and 403 Forbidden
Related Tools
API Tester
Send HTTP requests and inspect full API responses
Try itUtilityGit Cheat Sheet
Interactive Git command reference with one-click copy
Try itUtilityChmod Calculator
Calculate Linux file permission codes visually
Try itUtilityCron Expression Generator
Build cron schedules with human-readable summaries
Try it