Skip to main content
Developer Tools

HTTP Status Code Reference

Complete searchable reference for all HTTP 1xx–5xx status codes with descriptions.

Showing 60 status codes

100

Continue

The server 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., upgrading to WebSocket).

102

Processing

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

103

Early Hints

Used to return some response headers before final HTTP message, improving load performance.

200

OK

The request succeeded. The response depends on the HTTP method used.

201

Created

The request succeeded and a new resource was created. Typically sent after POST or PUT.

202

Accepted

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

203

Non-Authoritative Information

The response is from a third-party proxy, not the original server.

204

No Content

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

205

Reset Content

The server successfully processed the request and asks the client to reset the document view.

206

Partial Content

The server is delivering only part of the resource (range request).

207

Multi-Status

The response body is an XML message containing multiple status codes (WebDAV).

208

Already Reported

Members of a DAV binding have already been enumerated in a previous reply (WebDAV).

226

IM Used

The server has fulfilled a GET request and the response is a representation of one or more instance-manipulations.

300

Multiple Choices

The request has more than one possible response. The client should choose one.

301

Moved Permanently

The URL of the requested resource has been permanently changed to the given URL.

302

Found

The URI of requested resource has been changed temporarily. Future requests should use the same URI.

303

See Other

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

304

Not Modified

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

307

Temporary Redirect

The server sends this response to direct the client to get the requested resource at another URI with same method.

308

Permanent Redirect

The resource is permanently at another URI, specified in the Location header. Use the same HTTP method.

400

Bad Request

The server could not understand the request due to invalid syntax.

401

Unauthorized

Authentication is required and has failed or not been provided.

402

Payment Required

Reserved for future use. Sometimes used by APIs to indicate a payment-gated feature.

403

Forbidden

The client does not have access rights to the content — the server refuses to give the requested resource.

404

Not Found

The server cannot find the requested resource. The URL is not recognized.

405

Method Not Allowed

The request method is known by the server but is not supported by the target resource.

406

Not Acceptable

No content that conforms to the criteria given by the user agent can be found.

407

Proxy Authentication Required

Authentication is needed to be done by a proxy.

408

Request Timeout

The server would like to shut down this unused connection.

409

Conflict

The request conflicts with the current state of the server.

410

Gone

The requested content has been permanently deleted from server with no forwarding address.

411

Length Required

The server rejected the request because the Content-Length header field is not defined.

412

Precondition Failed

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

413

Content Too Large

The request entity is larger than limits defined by the server.

414

URI Too Long

The URI requested by the client is longer than the server is willing to interpret.

415

Unsupported Media Type

The media format of the requested data is not supported by the server.

416

Range Not Satisfiable

The range specified by the Range header field in the request cannot be fulfilled.

417

Expectation Failed

The expectation indicated by the Expect request header field cannot be met by the server.

418

I'm a Teapot

The server refuses the attempt to brew coffee with a teapot. (RFC 2324 April Fools joke, widely implemented.)

422

Unprocessable Content

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 (WebDAV).

424

Failed Dependency

The request failed because it depended on another request that failed (WebDAV).

425

Too Early

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

426

Upgrade Required

The server refuses to perform the request using the current protocol.

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 (rate limiting).

431

Request Header Fields Too Large

The server is unwilling to process the request because its header fields are too large.

451

Unavailable For Legal Reasons

The user agent requested a resource that cannot legally be provided, such as a censored web page.

500

Internal Server Error

The server encountered an unexpected condition that prevented it from fulfilling the request.

501

Not Implemented

The request method is not supported by the server and cannot be handled.

502

Bad Gateway

The server, acting as a gateway, received an invalid response from the upstream server.

503

Service Unavailable

The server is not ready to handle the request — common causes are maintenance or overload.

504

Gateway Timeout

The server acting as a gateway did not get a response in time from the upstream server.

505

HTTP Version Not Supported

The HTTP version used in the request is not supported by the server.

506

Variant Also Negotiates

The server has an internal configuration error: transparent content negotiation results in a circular reference.

507

Insufficient Storage

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

508

Loop Detected

The server detected an infinite loop while processing the request (WebDAV).

510

Not Extended

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

511

Network Authentication Required

Indicates that the client needs to authenticate to gain network access.

How to Use

  1. 1. Type a code number (e.g., "404"), a name (e.g., "not found"), or a keyword into the search box.
  2. 2. Use the category filters to narrow results: 1xx (informational), 2xx (success), 3xx (redirect), 4xx (client error), 5xx (server error).
  3. 3. Each entry shows the code, name, and a plain-English description of when and why it's used.

About HTTP Status Codes

HTTP status codes are three-digit numbers returned by a server in response to every HTTP request. They are grouped into five classes, each indicating a different type of outcome: 1xx for informational responses, 2xx for successes, 3xx for redirects, 4xx for client-side errors, and 5xx for server-side errors.

Every web developer and API designer encounters these codes constantly. Understanding the distinctions — like the difference between 401 (not authenticated) and 403 (not authorized), or 301 (permanent redirect) and 302 (temporary redirect) — is essential for building correct APIs and diagnosing issues quickly.

The codes are standardized by the IETF in RFC 9110 (HTTP Semantics) and various extensions (RFC 4918 for WebDAV, RFC 6585 for additional codes like 429). Some codes like 418 "I'm a Teapot" have become cultural icons of the web.

Our reference covers all standard codes with plain-English explanations, making it easy to look up any code you encounter in server logs, network inspector tabs, or API documentation.

You may also find our JSON Formatter, Regex Tester, and JWT Decoder helpful.

Frequently Asked Questions

What is the difference between 401 and 403?

401 Unauthorized means the request lacks valid authentication credentials — the client is not logged in. 403 Forbidden means the server understands the request and the client is authenticated, but does not have permission to access the resource.

When should an API return 422 vs 400?

400 Bad Request is for syntactically malformed requests (e.g., invalid JSON). 422 Unprocessable Content is for semantically invalid requests — the syntax is correct but the data fails business rules (e.g., a required field is missing or a date is in the past).

What is the difference between 301 and 302?

301 is a permanent redirect — browsers and search engines update their records. 302 is temporary — the original URL should still be used for future requests. Use 301 for SEO-impacting redirects and 302 for temporary maintenance pages.

What does 429 Too Many Requests mean for API users?

429 means you have exceeded the API rate limit. The response usually includes a Retry-After header telling you how long to wait before making another request.

Was this tool helpful?

Share: