Skip to content
Utility Tool

HTTP Status Code Reference

A complete reference guide for all HTTP status codes with descriptions and practical tips.

31 status codes found

1001xx

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.

1011xx

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.

1021xx

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.

2002xx

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.

2012xx

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.

2022xx

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.

2042xx

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.

2062xx

Partial Content

The server has fulfilled the partial GET request for the resource.

Tip: Used for resumable downloads and video streaming with range requests.

3003xx

Multiple Choices

The requested resource has multiple representations, each with its own URI.

Tip: Rarely used; the server should indicate a preferred choice.

3013xx

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.

3023xx

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.

3033xx

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.

3043xx

Not Modified

The resource has not been modified since the last request.

Tip: Essential for browser caching. No body is sent with this response.

3073xx

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.

3083xx

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.

4004xx

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.

4014xx

Unauthorized

The request requires user authentication.

Tip: The client must authenticate itself to get the requested response. Check your API keys or tokens.

4034xx

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.

4044xx

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.

4054xx

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.).

4084xx

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.

4094xx

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.

4104xx

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.

4224xx

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.

4294xx

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.

5005xx

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.

5015xx

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.

5025xx

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.

5035xx

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.

5045xx

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.

5055xx

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

InputOutput
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 category300, 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

1

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.

2

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.

3

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

Frequently Asked Questions

Does the reference include all official HTTP status codes?
The tool covers all status codes defined in the core HTTP specifications including RFC 9110 and related RFCs. This includes the standard codes that every developer encounters plus the less common ones like 418 and 429 that appear in specific contexts.
What is the difference between 401 Unauthorized and 403 Forbidden?
Status 401 means the request lacks valid authentication credentials, and the client should authenticate and retry. Status 403 means the server understood the request and the authentication is valid, but the authenticated user does not have permission to perform the requested action.
Can I suggest a missing status code?
The reference includes all IANA-registered HTTP status codes. If you encounter an unofficial code used by a specific vendor, it may not appear here since the tool focuses on standardized codes that have broad interoperability.