Skip to main content
CMD Tools

Search Tools

Search for a developer tool

Home / dev utilities / HTTP Status Codes

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.

Click to expand

101

Switching Protocols

The requester has asked the server to switch protocols and the server has agreed to do so.

Click to expand

102

Processing

The server has received and is processing the request, but no response is available yet.

Click to expand

103

Early Hints

Used to return some response headers before final HTTP message.

Click to expand

200

OK

The request has succeeded.

Click to expand

201

Created

The request has been fulfilled, resulting in the creation of a new resource.

Click to expand

202

Accepted

The request has been accepted for processing, but the processing has not been completed.

Click to expand

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.

Click to expand

204

No Content

The server successfully processed the request and is not returning any content.

Click to expand

205

Reset Content

The server successfully processed the request, but is not returning any content. Requires the requester to reset the document view.

Click to expand

206

Partial Content

The server is delivering only part of the resource due to a range header sent by the client.

Click to expand

207

Multi-Status

The message body that follows is by default an XML message and can contain a number of separate response codes.

Click to expand

208

Already Reported

The members of a DAV binding have already been enumerated in a preceding part of the (multistatus) response.

Click to expand

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.

Click to expand

300

Multiple Choices

Indicates multiple options for the resource from which the client may choose.

Click to expand

301

Moved Permanently

This and all future requests should be directed to the given URI.

Click to expand

302

Found

The resource resides temporarily under a different URI.

Click to expand

303

See Other

The response to the request can be found under another URI using the GET method.

Click to expand

304

Not Modified

Indicates that the resource has not been modified since the version specified by the request headers.

Click to expand

305

Use Proxy

The requested resource is available only through a proxy.

Click to expand

307

Temporary Redirect

The resource resides temporarily under a different URI. Method must not change.

Click to expand

308

Permanent Redirect

The resource resides permanently under a different URI. Method must not change.

Click to expand

400

Bad Request

The server cannot or will not process the request due to an apparent client error.

Click to expand

401

Unauthorized

Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided.

Click to expand

402

Payment Required

Reserved for future use.

Click to expand

403

Forbidden

The request was valid, but the server is refusing action. The user might not have the necessary permissions.

Click to expand

404

Not Found

The requested resource could not be found but may be available in the future.

Click to expand

405

Method Not Allowed

A request method is not supported for the requested resource.

Click to expand

406

Not Acceptable

The requested resource is capable of generating only content not acceptable according to the Accept headers sent.

Click to expand

407

Proxy Authentication Required

The client must first authenticate itself with the proxy.

Click to expand

408

Request Timeout

The server timed out waiting for the request.

Click to expand

409

Conflict

Indicates that the request could not be processed because of conflict in the current state of the resource.

Click to expand

410

Gone

Indicates that the resource requested is no longer available and will not be available again.

Click to expand

411

Length Required

The request did not specify the length of its content, which is required by the requested resource.

Click to expand

412

Precondition Failed

The server does not meet one of the preconditions that the requester put on the request.

Click to expand

413

Payload Too Large

The request is larger than the server is willing or able to process.

Click to expand

414

URI Too Long

The URI provided was too long for the server to process.

Click to expand

415

Unsupported Media Type

The request entity has a media type which the server or resource does not support.

Click to expand

416

Range Not Satisfiable

The client has asked for a portion of the file, but the server cannot supply that portion.

Click to expand

417

Expectation Failed

The server cannot meet the requirements of the Expect request-header field.

Click to expand

418

I'm a teapot

The server refuses the attempt to brew coffee with a teapot.

Click to expand

421

Misdirected Request

The request was directed at a server that is not able to produce a response.

Click to expand

422

Unprocessable Entity

The request was well-formed but was unable to be followed due to semantic errors.

Click to expand

423

Locked

The resource that is being accessed is locked.

Click to expand

424

Failed Dependency

The request failed because it depended on another request and that request failed.

Click to expand

425

Too Early

Indicates that the server is unwilling to risk processing a request that might be replayed.

Click to expand

426

Upgrade Required

The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field.

Click to expand

428

Precondition Required

The origin server requires the request to be conditional.

Click to expand

429

Too Many Requests

The user has sent too many requests in a given amount of time.

Click to expand

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.

Click to expand

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.

Click to expand

500

Internal Server Error

A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.

Click to expand

501

Not Implemented

The server either does not recognize the request method, or it lacks the ability to fulfil the request.

Click to expand

502

Bad Gateway

The server was acting as a gateway or proxy and received an invalid response from the upstream server.

Click to expand

503

Service Unavailable

The server is currently unavailable (because it is overloaded or down for maintenance).

Click to expand

504

Gateway Timeout

The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.

Click to expand

505

HTTP Version Not Supported

The server does not support the HTTP protocol version used in the request.

Click to expand

506

Variant Also Negotiates

Transparent content negotiation for the request results in a circular reference.

Click to expand

507

Insufficient Storage

The server is unable to store the representation needed to complete the request.

Click to expand

508

Loop Detected

The server detected an infinite loop while processing the request.

Click to expand

510

Not Extended

Further extensions to the request are required for the server to fulfil it.

Click to expand

511

Network Authentication Required

The client needs to authenticate to gain network access.

Click to expand

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

  1. Search by code (404, 429, 503) or keyword (timeout, cache, unauthorized).
  2. Filter by class (1xx through 5xx) to narrow troubleshooting context.
  3. Open a code card to review intent, common causes, and implementation notes.
  4. Copy code/title values directly into tickets, docs, or test cases.
  5. 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 OK lives 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 Found or 401 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

  1. 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”).
  2. Filter by Category: Click on the category tabs (1xx, 2xx, 3xx, etc.) to view only the status codes within that specific block.
  3. 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.
  4. 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