HTTP Status Codes
Free HTTP status code lookup tool. Search and browse all HTTP response codes with descriptions, use cases, and examples. Complete 1xx-5xx reference.
100
Continue
The server has received the request headers and the client should proceed to send the request body.
101
Switching Protocols
The requester has asked the server to switch protocols and the server has agreed to do so.
102
Processing
The server has received and is processing the request, but no response is available yet.
103
Early Hints
Used to return some response headers before final HTTP message.
200
OK
The request has succeeded.
201
Created
The request has been fulfilled, resulting in the creation of a new resource.
202
Accepted
The request has been accepted for processing, but the processing has not been completed.
203
Non-Authoritative Information
The server is a transforming proxy that received a 200 OK from its origin, but is returning a modified version of the origin's response.
204
No Content
The server successfully processed the request and is not returning any content.
205
Reset Content
The server successfully processed the request, but is not returning any content. Requires the requester to reset the document view.
206
Partial Content
The server is delivering only part of the resource due to a range header sent by the client.
207
Multi-Status
The message body that follows is by default an XML message and can contain a number of separate response codes.
208
Already Reported
The members of a DAV binding have already been enumerated in a preceding part of the (multistatus) response.
226
IM Used
The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations.
300
Multiple Choices
Indicates multiple options for the resource from which the client may choose.
301
Moved Permanently
This and all future requests should be directed to the given URI.
302
Found
The resource resides temporarily under a different URI.
303
See Other
The response to the request can be found under another URI using the GET method.
304
Not Modified
Indicates that the resource has not been modified since the version specified by the request headers.
305
Use Proxy
The requested resource is available only through a proxy.
307
Temporary Redirect
The resource resides temporarily under a different URI. Method must not change.
308
Permanent Redirect
The resource resides permanently under a different URI. Method must not change.
400
Bad Request
The server cannot or will not process the request due to an apparent client error.
401
Unauthorized
Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided.
402
Payment Required
Reserved for future use.
403
Forbidden
The request was valid, but the server is refusing action. The user might not have the necessary permissions.
404
Not Found
The requested resource could not be found but may be available in the future.
405
Method Not Allowed
A request method is not supported for the requested resource.
406
Not Acceptable
The requested resource is capable of generating only content not acceptable according to the Accept headers sent.
407
Proxy Authentication Required
The client must first authenticate itself with the proxy.
408
Request Timeout
The server timed out waiting for the request.
409
Conflict
Indicates that the request could not be processed because of conflict in the current state of the resource.
410
Gone
Indicates that the resource requested is no longer available and will not be available again.
411
Length Required
The request did not specify the length of its content, which is required by the requested resource.
412
Precondition Failed
The server does not meet one of the preconditions that the requester put on the request.
413
Payload Too Large
The request is larger than the server is willing or able to process.
414
URI Too Long
The URI provided was too long for the server to process.
415
Unsupported Media Type
The request entity has a media type which the server or resource does not support.
416
Range Not Satisfiable
The client has asked for a portion of the file, but the server cannot supply that portion.
417
Expectation Failed
The server cannot meet the requirements of the Expect request-header field.
418
I'm a teapot
The server refuses the attempt to brew coffee with a teapot.
421
Misdirected Request
The request was directed at a server that is not able to produce a response.
422
Unprocessable Entity
The request was well-formed but was unable to be followed due to semantic errors.
423
Locked
The resource that is being accessed is locked.
424
Failed Dependency
The request failed because it depended on another request and that request failed.
425
Too Early
Indicates that the server is unwilling to risk processing a request that might be replayed.
426
Upgrade Required
The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field.
428
Precondition Required
The origin server requires the request to be conditional.
429
Too Many Requests
The user has sent too many requests in a given amount of time.
431
Request Header Fields Too Large
The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large.
451
Unavailable For Legal Reasons
A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource.
500
Internal Server Error
A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.
501
Not Implemented
The server either does not recognize the request method, or it lacks the ability to fulfil the request.
502
Bad Gateway
The server was acting as a gateway or proxy and received an invalid response from the upstream server.
503
Service Unavailable
The server is currently unavailable (because it is overloaded or down for maintenance).
504
Gateway Timeout
The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.
505
HTTP Version Not Supported
The server does not support the HTTP protocol version used in the request.
506
Variant Also Negotiates
Transparent content negotiation for the request results in a circular reference.
507
Insufficient Storage
The server is unable to store the representation needed to complete the request.
508
Loop Detected
The server detected an infinite loop while processing the request.
510
Not Extended
Further extensions to the request are required for the server to fulfil it.
511
Network Authentication Required
The client needs to authenticate to gain network access.
Comprehensive HTTP Status Codes Directory
Welcome to the HTTP Status Codes reference tool. Whether you are building APIs, debugging a web application, or learning core protocol behavior, status codes are the fastest signal for request outcomes. In practical debugging workflows, this page works best with URL Encoder for query/path issues, JSON Formatter for response payload inspection, and Regex Tester for validating route and input patterns that may trigger 4xx responses.
This interactive lookup tool provides a complete, searchable dictionary of all standard HTTP response codes (ranging from 1xx to 5xx), complete with their official definitions, detailed use cases, and direct links to MDN documentation.
How to Use
- Search by code (
404,429,503) or keyword (timeout,cache,unauthorized). - Filter by class (1xx through 5xx) to narrow troubleshooting context.
- Open a code card to review intent, common causes, and implementation notes.
- Copy code/title values directly into tickets, docs, or test cases.
- Cross-check request encoding and payload validation with related tools during debugging.
Features
Searchable Status Directory
Quickly find standard codes and understand expected behavior without scanning long specs.
Category Filters
Jump directly to informational, success, redirect, client error, or server error classes.
Detailed Explanations
Each code includes practical context for when to use it and what to check next.
Copy Workflow
Copy code labels for changelogs, incident notes, and API documentation.
Use Cases
API Development
Choose accurate status codes so clients can handle retries, auth, and validation paths predictably.
Incident Response
Use status classes to triage failures quickly, then inspect request formatting and payload parsing in supporting tools.
Documentation and QA
Create repeatable test cases around expected status outcomes and error semantics.
SEO and Platform Reliability
Validate redirect and error behavior (301, 302, 404, 410, 503) to avoid crawl/indexation confusion and poor user experience.
Technical Details
What are HTTP Status Codes?
Whenever a web client (like your internet browser, or a script making an API call) interacts with a server, the server responds with a 3-digit number known as an HTTP status code. These codes are a critical part of the HTTP protocol, serving as a standardized way to communicate the outcome of a request. They quickly answer the question: Did the request succeed, fail, or is some other action required?
The 5 Categories of HTTP Status Codes
Status codes are grouped into five distinct classes, determined by their first digit:
- 1xx (Informational): The request was received, and the process is continuing. These are temporary responses indicating that the client should wait for a final response.
- 2xx (Successful): The request was successfully received, understood, and accepted. The famous
200 OKlives here. - 3xx (Redirection): Further action needs to be taken by the client to complete the request. This usually means the resource has moved, and the client must follow a redirect.
- 4xx (Client Error): The request contains bad syntax or cannot be fulfilled. The error is on the client’s side (e.g.,
404 Not Foundor401 Unauthorized). - 5xx (Server Error): The server failed to fulfill a valid request. This indicates a problem on the server’s end (e.g.,
500 Internal Server Error).
How to Use This Tool
- Search: Use the search bar at the top to instantly find a specific code (e.g., “418”) or a keyword (e.g., “Timeout” or “Payment”).
- Filter by Category: Click on the category tabs (1xx, 2xx, 3xx, etc.) to view only the status codes within that specific block.
- Expand for Details: Click on any status code card to reveal a more detailed explanation of when and why it is used, along with a direct link to the Mozilla Developer Network (MDN) documentation.
- Copy to Clipboard: Click the copy icon in the top right of any card to instantly copy the status code and text (e.g., “404 Not Found”) to your clipboard for use in documentation or code comments.
Commonly Encountered HTTP Codes
- 200 OK: The standard response for successful HTTP requests.
- 201 Created: The request has been fulfilled, resulting in the creation of a new resource (commonly used in POST requests).
- 301 Moved Permanently: The resource has been permanently moved to a new URL. Crucial for SEO when restructuring websites.
- 400 Bad Request: The server cannot process the request due to a client error (e.g., malformed syntax).
- 401 Unauthorized: Authentication is required and has failed or has not yet been provided.
- 403 Forbidden: The client does not have access rights to the content, unlike a 401, the client’s identity is known to the server.
- 404 Not Found: The server cannot find the requested resource. The most famous HTTP error!
- 500 Internal Server Error: A generic error message given when an unexpected condition was encountered on the server.
- 502 Bad Gateway: The server was acting as a gateway or proxy and received an invalid response from the upstream server.
Status codes should align with transport semantics, not only business outcomes. For example, validation failures typically belong in 400 or 422, auth failures in 401 or 403, and temporary infrastructure issues in 503. Clear code selection improves metrics, alerting, and downstream client logic.
When responses include JSON bodies, ensure consistent error structure and formatting with JSON Formatter. If failures involve malformed query strings or path parameters, normalize and inspect them with URL Encoder. For route-level input patterns, Regex Tester can catch pattern mismatches before requests reach core business handlers.
FAQ
What is the difference between 4xx and 5xx errors?
4xx codes indicate client-side issues such as invalid input or missing authentication, while 5xx codes indicate server-side failures processing a valid request.
Why is 304 Not Modified in the 3xx range?
304 is part of conditional request and caching behavior. It signals that the client can reuse cached content instead of receiving a full response body.
Should APIs always return 200 with an error payload?
No. Proper HTTP semantics improve debugging, observability, and client behavior. Return status codes that match the actual result, then include structured error details.
How can I debug status code issues faster?
Verify request encoding, inspect payload shape, and validate response structure. Combining URL encoding checks, JSON formatting, and regex-based input validation usually narrows root causes quickly.
Privacy Note
This HTTP Status Codes tool is a static reference directory. All search and filtering functionality happens entirely locally within your browser. We do not track your searches or send any data to external servers.
Related Tools
JSON Formatter
Free online JSON formatter, validator and beautifier. Format, minify, and validate JSON data instantly.
Regex Tester
Free online regex tester with real-time matching, capture groups, and a library of common patterns. Debug and test your regular expressions instantly.
URL Encoder & Decoder
Free online URL encoder and decoder. Encode special characters for URLs, decode percent-encoded strings, and parse URL components. Supports multiple encoding modes.