HTTP Status Codes Reference
Searchable reference for all HTTP status codes with descriptions
Continue
The server has received the request headers and the client should proceed to send the request body.
Switching Protocols
The server is switching protocols as requested by the client via the Upgrade header.
Processing
The server has received and is processing the request, but no response is available yet (WebDAV).
Early Hints
Used to return some response headers before the final HTTP message, allowing the client to preload resources.
OK
The request has succeeded. The meaning depends on the HTTP method used.
Created
The request has been fulfilled and a new resource has been created.
Accepted
The request has been accepted for processing, but the processing has not been completed.
Non-Authoritative Information
The returned metadata is from a local or third-party copy instead of the origin server.
No Content
The server has fulfilled the request but does not need to return a body.
Reset Content
The server has fulfilled the request and the client should reset the document view.
Partial Content
The server is delivering only part of the resource due to a Range header sent by the client.
Multi-Status
Provides status for multiple independent operations (WebDAV).
Multiple Choices
The request has more than one possible response. The client should choose one.
Moved Permanently
The URL of the requested resource has been changed permanently. The new URL is given in the response.
Found
The URI of the requested resource has been changed temporarily. Further changes may be made in the future.
See Other
The server sent this response to direct the client to get the requested resource at another URI with a GET request.
Not Modified
Used for caching. The response has not been modified, so the client can use the cached version.
Temporary Redirect
The server sends this to direct the client to the requested resource at another URI with the same method.
Permanent Redirect
The resource has been permanently moved to a new URI. Like 301, but the method must not change.
Bad Request
The server cannot or will not process the request due to an apparent client error.
Unauthorized
Authentication is required and has failed or has not been provided.
Payment Required
Reserved for future use. Originally intended for digital payment systems.
Forbidden
The client does not have access rights to the content. Unlike 401, the client's identity is known.
Not Found
The server cannot find the requested resource. The URL is not recognized.
Method Not Allowed
The request method is known by the server but not supported by the target resource.
Not Acceptable
The server cannot produce a response matching the list of acceptable values defined in the request headers.
Proxy Authentication Required
Authentication with the proxy is required before the request can be fulfilled.
Request Timeout
The server timed out waiting for the request from the client.
Conflict
The request conflicts with the current state of the server.
Gone
The requested content has been permanently deleted from the server with no forwarding address.
Length Required
The server rejects the request because the Content-Length header field is not defined.
Precondition Failed
The client has indicated preconditions in its headers which the server does not meet.
Payload Too Large
The request entity is larger than limits defined by the server.
URI Too Long
The URI requested by the client is longer than the server is willing to interpret.
Unsupported Media Type
The media format of the requested data is not supported by the server.
Range Not Satisfiable
The range specified by the Range header field cannot be fulfilled.
Expectation Failed
The expectation given in the Expect request header could not be met by the server.
I'm a Teapot
The server refuses to brew coffee because it is permanently a teapot (RFC 2324).
Unprocessable Entity
The request was well-formed but was unable to be followed due to semantic errors (WebDAV).
Too Many Requests
The user has sent too many requests in a given amount of time (rate limiting).
Unavailable For Legal Reasons
The resource is unavailable due to a legal demand.
Internal Server Error
The server has encountered a situation it does not know how to handle.
Not Implemented
The request method is not supported by the server and cannot be handled.
Bad Gateway
The server got an invalid response while working as a gateway.
Service Unavailable
The server is not ready to handle the request, usually due to maintenance or overload.
Gateway Timeout
The server is acting as a gateway and did not get a response in time.
HTTP Version Not Supported
The HTTP version used in the request is not supported by the server.
Insufficient Storage
The server is unable to store the representation needed to complete the request (WebDAV).
Network Authentication Required
The client needs to authenticate to gain network access (captive portal).
49 of 49 status codes shown
How to Use HTTP Status Codes Reference
Look up any HTTP status code instantly. Filter by category and search by code number, name, or description.
- 1
Search or browse
Type a status code number, name, or keyword to find matching codes instantly.
- 2
Filter by category
Click category badges to filter: 1xx Informational, 2xx Success, 3xx Redirect, 4xx Client Error, 5xx Server Error.
- 3
Read descriptions
Each status code includes a clear description of when and why it's used.
Frequently Asked Questions
How many status codes are included?
The reference includes 47 commonly used HTTP status codes across all five categories, including RFC 2324's 418 I'm a Teapot.
What's the difference between 401 and 403?
401 Unauthorized means authentication is missing or failed. 403 Forbidden means the server knows who you are but you don't have permission.
What's the difference between 301 and 308?
Both are permanent redirects. 301 may change the request method to GET, while 308 guarantees the method stays the same.
Is this tool free?
Yes, completely free with no signup. It's a static reference that works offline too.