HTTP Status Codes Reference

Complete reference for all standard HTTP status codes with descriptions, grouped by category.

Search Status Codes29 codes
1xxInformational
3 codes
100
Continue
The server has received the request headers and the client should proceed to send the request body.
101
Switching Protocols
The server is switching protocols as requested by the client (e.g., from HTTP to WebSocket).
102
Processing
The server has received and is processing the request, but no response is available yet.
2xxSuccess
5 codes
200
OK
The request was successful. The meaning of success depends on the HTTP method used.
201
Created
The request was fulfilled and a new resource was created. Typically returned after POST.
202
Accepted
The request has been accepted for processing, but the processing is not complete.
204
No Content
The server successfully processed the request but is not returning any content.
206
Partial Content
The server is delivering only part of the resource due to a range header sent by the client.
3xxRedirection
5 codes
301
Moved Permanently
The URL of the requested resource has been changed permanently. The new URL is given in the response.
302
Found
The URI of the requested resource has been changed temporarily. The client should use the original URI.
304
Not Modified
Indicates that the resource has not been modified since the version specified in the request headers.
307
Temporary Redirect
The request should be repeated with another URI but future requests can still use the original URI.
308
Permanent Redirect
The resource has been permanently moved to another URI. The request method should not be changed.
4xxClient Error
11 codes
400
Bad Request
The server cannot process the request due to malformed syntax or invalid request message framing.
401
Unauthorized
Authentication is required and has failed or has not been provided.
403
Forbidden
The server understood the request but refuses to authorize it. No re-authentication will help.
404
Not Found
The server cannot find the requested resource. The URL is not recognized or the resource doesn't exist.
405
Method Not Allowed
The request method is known by the server but is not supported by the target resource.
408
Request Timeout
The server timed out waiting for the request. The client may repeat the request without modifications.
409
Conflict
The request could not be processed because of a conflict in the current state of the resource.
410
Gone
The requested resource is no longer available and will not be available again. It has been permanently removed.
413
Payload Too Large
The request entity is larger than limits defined by the server.
422
Unprocessable Entity
The server understands the content type but was unable to process the contained instructions.
429
Too Many Requests
The user has sent too many requests in a given amount of time (rate limiting).
5xxServer Error
5 codes
500
Internal Server Error
A generic error message when the server encountered an unexpected condition.
501
Not Implemented
The server does not support the functionality required to fulfill the request.
502
Bad Gateway
The server, acting as a gateway, received an invalid response from an upstream server.
503
Service Unavailable
The server is not ready to handle the request — typically due to maintenance or overload.
504
Gateway Timeout
The server, acting as a gateway, did not get a response in time from an upstream server.

What is HTTP Status Codes?

An HTTP Status Codes Reference is a comprehensive developer reference tool that explains every HTTP status code — the three-digit numbers that web servers return to indicate the result of an HTTP request. Status codes are fundamental to how the web works: they tell clients (browsers, apps, API consumers) whether a request succeeded, failed, needs redirection, or encountered a server error.

HTTP status codes are grouped into five classes: 1xx (informational), 2xx (success), 3xx (redirection), 4xx (client errors), and 5xx (server errors). While 200 OK and 404 Not Found are universally known, codes like 409 Conflict, 422 Unprocessable Entity, 429 Too Many Requests, 503 Service Unavailable, and 304 Not Modified are less familiar but critically important in API design and web development.

Developers need HTTP status code references when debugging API integrations, designing RESTful APIs, troubleshooting server errors, implementing error handling in client applications, and understanding caching behavior. Choosing the semantically correct status code in an API makes it much easier for clients to handle responses correctly.

How to Use HTTP Status Codes

  1. 1Step 1: Search for a specific status code by typing the three-digit number into the search field, or browse by category (2xx success, 3xx redirect, 4xx client error, 5xx server error).
  2. 2Step 2: Read the status code name and short description first to understand the general meaning. Then read the detailed explanation to understand the precise semantics and when to use it.
  3. 3Step 3: For API design decisions, compare similar codes — for example, understand the difference between 401 Unauthorized vs 403 Forbidden, or 400 Bad Request vs 422 Unprocessable Entity.
  4. 4Step 4: Check the usage notes for information about which HTTP methods typically use this status code, whether a response body is expected, and any headers commonly included with this status.
  5. 5Step 5: Use the reference to choose the correct status code for your API endpoints, configure error handling in your client code, or troubleshoot unexpected status codes from third-party services.

Benefits of Using HTTP Status Codes

  • Correct API Design: Using semantically correct HTTP status codes makes APIs more intuitive, self-documenting, and easier for client developers to handle correctly without reading extensive documentation.
  • Faster Debugging: When an API or web server returns an unexpected status code, the reference immediately explains what the code means and the likely causes, speeding up troubleshooting.
  • Client Error Handling: Understanding the full range of status codes enables better client-side error handling with specific responses to 429 Rate Limit, 503 Service Unavailable, and other scenarios.
  • Cache Behavior Understanding: 3xx redirect codes, 304 Not Modified, and cache-related headers are critical to understanding browser and CDN caching behavior that affects performance.
  • Security Awareness: Knowing when to use 401 vs 403 prevents leaking information about resource existence to unauthorized users — a common security consideration in API design.
  • RESTful Best Practices: A comprehensive reference helps developers follow HTTP semantic conventions, making their APIs consistent with web standards and framework expectations.

Example

A developer is building a REST API for a task management app and needs to decide the right status code for several scenarios. They consult the HTTP status codes reference: when a user tries to create a task but is not logged in, the reference confirms 401 Unauthorized is correct. When a logged-in user tries to delete another user's task, 403 Forbidden is the right choice. When a task creation request is missing the required 'title' field, they learn 422 Unprocessable Entity is more semantically correct than 400 Bad Request because the syntax is valid but the content is semantically wrong. These informed choices make the API much easier for client developers to integrate.

About HTTP Status Codes

HTTP Status Codes provides a comprehensive, searchable reference for all standard HTTP status codes from 1xx to 5xx. Each code includes its official name, a plain-English description, and common use cases. Bookmark this tool for quick lookups during API development.

  • All 1xx–5xx status codes covered
  • Searchable by code or name
  • Plain-English descriptions
  • Common use cases for each code