Checks the HTTP status code of a given URL. Sends a request to the target address and returns the final status code, reason phrase, protocol version, redirect chain, and key response headers such as Content-Type, Content-Length, and Server to help you diagnose website availability and configuration issues
The HTTP Status Checker lets you detect the HTTP status code of any URL, so you can quickly tell whether a page or API is reachable and what result the server returned. Enter a URL and the tool sends a request to the target server, then returns the final status code, reason phrase, protocol version, redirect chain, and key response headers such as Content-Type, Content-Length, and Server.
An HTTP status code is a 3-digit numeric code returned by a web server to describe the result of processing a request. It falls into five categories: 1xx (Informational), 2xx (Successful), 3xx (Redirection), 4xx (Client Error), and 5xx (Server Error). With this tool you can quickly track down common issues like 404s, 301 redirects, or 500 errors. It suits webmasters, operations engineers, developers, and SEO specialists.
The HTTP status code lives in the status line of an HTTP response message, in the form HTTP/1.1 200 OK, consisting of the protocol version, a 3-digit code, and a reason phrase. Codes are grouped by their first digit: 1xx indicates a temporary response and that the requester should keep going; 2xx means the request was handled successfully; 3xx means further action is needed (usually a redirect); 4xx indicates a problem with the client request; and 5xx means the server hit an internal error while handling the request.
This tool uses PHP's built-in stream wrappers to issue the request. It prefers the HEAD method to fetch the status headers with minimal overhead; if the server rejects HEAD (returns 405), it falls back to GET. The request follows redirects automatically via the stream context's follow_location, and the tool parses the status line of each hop from $http_response_header to reconstruct the full redirect chain. No cURL extension is required, so deployment stays lightweight.
Temporary responses that require the requester to continue the operation.
| Code | Status | Description |
|---|---|---|
| 100 | Continue | The requester should continue. The server received the first part of the request and is waiting for the rest. |
| 101 | Switching Protocols | The requester asked the server to switch protocols and the server has agreed. |
| 102 | Processing | A WebDAV (RFC 2518) extension indicating that processing will continue. |
Codes indicating the request was handled successfully.
| Code | Status | Description |
|---|---|---|
| 200 | OK | The server processed the request successfully and provided the requested page. |
| 201 | Created | The request succeeded and the server created a new resource. |
| 202 | Accepted | The server accepted the request but has not yet processed it. |
| 203 | Non-Authoritative Information | The request succeeded but the returned information may come from another source. |
| 204 | No Content | The server processed the request but returned no content. |
| 205 | Reset Content | The server processed the request but returned no content. |
| 206 | Partial Content | The server processed part of a GET request successfully. |
| 207 | Multi-Status | A WebDAV (RFC 2518) extension; the message body is an XML message containing a series of independent response codes based on the number of sub-requests. |
Further action is needed to complete the request. These codes are typically used for redirects.
| Code | Status | Description |
|---|---|---|
| 300 | Multiple Choices | The server can perform several actions for the request and lets the user agent choose one or provides a list. |
| 301 | Moved Permanently | The requested page has moved permanently to a new location. For GET or HEAD requests the requester is redirected automatically. |
| 302 | Found | The server responds from a different location but the requester should keep using the original location for future requests. |
| 303 | See Other | Returned when the requester should use a separate GET request to retrieve the response at a different location. |
| 304 | Not Modified | The page has not changed since the last request. No page content is returned. |
| 305 | Use Proxy | The requester must access the page only through a proxy. |
| 306 | -- | No longer used. |
| 307 | Temporary Redirect | The server responds from a different location but the requester should keep using the original location for future requests. |
These codes indicate that the request may be wrong and prevented the server from processing it.
| Code | Status | Description |
|---|---|---|
| 400 | Bad Request | The server does not understand the syntax of the request. |
| 401 | Unauthorized | The request requires authentication. The server may return this for pages that need login. |
| 403 | Forbidden | The server refuses the request. |
| 404 | Not Found | The server cannot find the requested page. |
| 405 | Method Not Allowed | The method specified in the request is disabled. |
| 406 | Not Acceptable | The server cannot respond to the request with the requested content characteristics. |
| 407 | Proxy Authentication Required | Similar to 401 (Unauthorized) but the requester must authenticate with a proxy. |
| 408 | Request Timeout | The server timed out while waiting for the request. |
| 409 | Conflict | The server encountered a conflict while completing the request and must include conflict information in the response. |
| 410 | Gone | The requested resource has been permanently deleted. |
| 411 | Length Required | The server rejects the request without a valid Content-Length header field. |
| 412 | Precondition Failed | The server did not meet one of the preconditions set by the requester. |
| 413 | Payload Too Large | The server cannot process the request because the payload is too large. |
| 414 | URI Too Long | The request URI is too long for the server to handle. |
| 415 | Unsupported Media Type | The request format is not supported by the requested page. |
| 416 | Range Not Satisfiable | Returned when the page cannot provide the requested range. |
| 417 | Expectation Failed | The server could not meet the requirements of the "Expect" request header field. |
| 421 | Too Many Connections | The number of connections from the client IP to the server exceeds the allowed maximum. |
| 422 | Unprocessable Entity | The request is well formed but cannot be processed due to semantic errors. (RFC 4918 WebDAV) |
| 423 | Locked | The current resource is locked. (RFC 4918 WebDAV) |
| 424 | Failed Dependency | The current request failed because a previous request failed. (RFC 4918 WebDAV) |
| 425 | Unordered Collection | Defined in the WebDAV Advanced Collections draft but not present in RFC 3658. |
| 426 | Upgrade Required | The client should switch to TLS/1.0. (RFC 2817) |
| 428 | Precondition Required | Preconditions are certain conditions a client must meet for the request to succeed. |
| 429 | Too Many Requests | Useful when you need to limit the number of requests a client makes to a service, i.e. rate limiting. |
| 431 | Request Header Fields Too Large | The client sent HTTP request headers that are too large; the server returns 431 to indicate the problem. |
| 451 | Unavailable For Legal Reasons | Access is refused by the authorities as a consequence of legal reasons. |
These codes indicate that the server encountered an internal error while processing the request. The error is on the server side rather than the request itself.
| Code | Status | Description |
|---|---|---|
| 500 | Internal Server Error | The server encountered an error and could not complete the request. |
| 501 | Not Implemented | The server does not support the functionality required to complete the request, e.g. it cannot recognize the request method. |
| 502 | Bad Gateway | The server, acting as a gateway or proxy, received an invalid response from an upstream server. |
| 503 | Service Unavailable | The server is currently unavailable due to overload or maintenance. Usually a temporary state. |
| 504 | Gateway Timeout | The server, acting as a gateway or proxy, 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 | An extension of the Transparent Content Negotiation Protocol (RFC 2295) indicating an internal configuration error. |
| 507 | Insufficient Storage | The server cannot store the content required to complete the request. Considered temporary. (RFC 4918 WebDAV) |
| 509 | Bandwidth Limit Exceeded | The server reached its bandwidth limit. Not an official code, but widely used. |
| 510 | Not Extended | Further extensions to the request are required for the server to fulfill it. (RFC 2774) |
| 511 | Network Authentication Required | If you use laptops and smartphones often, you may notice many public Wi-Fi services require you to accept terms or log in before use. |
Check the status code of a normal website:
Input: https://example.com
Output:
HTTP 200 OK
Status category: 2xx Successful
Protocol version: HTTP/1.1
Content-Type: text/html; charset=UTF-8
Content-Length: 1256
Server: ECS (dcb/7F83)
Date: Tue, 04 Aug 2026 00:00:00 GMT
Check a missing page (404):
Input: https://example.com/not-found
Output:
HTTP 404 Not Found
Status category: 4xx Client Error
Protocol version: HTTP/1.1
Content-Type: text/html; charset=UTF-8
This tool pairs with DNS Lookup, IP Lookup, and My IP Address as a network diagnostic group: HTTP status tells you whether a page is reachable, DNS resolves a domain to an IP, and IP Lookup dives into the address attributes. When troubleshooting URLs, it is often used together with URL Decode, URL Encode, and URL Params to Table. To identify the file type behind a Content-Type in the response header, you can use the MIME Type Lookup tool.