Web & time

HTTP Status Codes

Searchable reference for 1xx to 5xx status codes.

Runs locally Free No signup

A working example is preloaded — edit it or clear it.

HTTP reference
100
Continue

The server received the request headers and the client may send the body.

Continue
101
Switching Protocols

The server accepts the client's request to change protocol, usually to WebSocket.

Switching Protocols
103
Early Hints

Sends preliminary headers so the browser can preload resources before the final response.

Early Hints
200
OK

The request succeeded and the response contains the result.

OK
201
Created

A new resource was created. Include its URL in the Location header.

Created
202
Accepted

The request was accepted for processing but is not finished yet.

Accepted
204
No Content

The request succeeded and there is no body to return, common for DELETE.

No Content
206
Partial Content

Returns part of a resource, used for range requests and media streaming.

Partial Content
207
Multi-Status

A WebDAV response carrying separate statuses for multiple operations.

Multi-Status
226
IM Used

The server applied delta encoding to the representation, per RFC 3229.

IM Used
300
Multiple Choices

Several representations exist; the client or user must choose one.

Multiple Choices
301
Moved Permanently

The resource has a new permanent URL. Search engines transfer signals to it.

Moved Permanently
302
Found

Temporary redirect. Keep the original URL for future requests.

Found
303
See Other

Redirect the client to another URL with a GET, often after a POST.

See Other
304
Not Modified

The cached copy is still valid, so the client reuses it.

Not Modified
307
Temporary Redirect

Like 302, but the HTTP method must not change.

Temporary Redirect
308
Permanent Redirect

Like 301, but the method and body are preserved.

Permanent Redirect
400
Bad Request

The request is malformed or fails validation. Explain the error in the body.

Bad Request
401
Unauthorized

Authentication is missing or invalid — the server does not know who you are.

Unauthorized
402
Payment Required

Reserved for paid access. Rare, but useful for API quotas and billing walls.

Payment Required
403
Forbidden

The server knows the client but refuses access. Re-authenticating will not help.

Forbidden
404
Not Found

No resource matches the URL. Also used to hide private resources.

Not Found
405
Method Not Allowed

The URL exists but does not support this HTTP method. Send an Allow header.

Method Not Allowed
406
Not Acceptable

No representation matches the client's Accept headers.

Not Acceptable
407
Proxy Authentication Required

The client must authenticate with the proxy before proceeding.

Proxy Authentication Required
408
Request Timeout

The server timed out waiting for the request. The client may retry.

Request Timeout
409
Conflict

The request conflicts with current state, such as a duplicate or stale version.

Conflict
410
Gone

The resource existed but was permanently removed. Stronger than 404.

Gone
411
Length Required

The request must include a Content-Length header.

Length Required
412
Precondition Failed

A conditional header such as If-Match evaluated to false.

Precondition Failed
413
Content Too Large

The request body exceeds the server's limit. Raise it or stream the upload.

Content Too Large
414
URI Too Long

The URL is longer than the server accepts. Move data to the body.

URI Too Long
415
Unsupported Media Type

The payload format is not supported. Check the Content-Type header.

Unsupported Media Type
416
Range Not Satisfiable

The requested byte range cannot be served. Send Content-Range.

Range Not Satisfiable
417
Expectation Failed

The server cannot meet the Expect request header.

Expectation Failed
418
I'm a Teapot

An April Fools' RFC. Some APIs use it as a playful custom error.

I'm a Teapot
421
Misdirected Request

The request reached a server that cannot answer for this host.

Misdirected Request
422
Unprocessable Content

The syntax is valid but the content fails semantic validation.

Unprocessable Content
423
Locked

The resource is locked by another operation, common in WebDAV.

Locked
424
Failed Dependency

The request failed because an earlier dependent request failed.

Failed Dependency
425
Too Early

The server refuses to process a request that may be replayed (TLS early data).

Too Early
426
Upgrade Required

The client must switch to a different protocol, such as TLS or HTTP/2.

Upgrade Required
428
Precondition Required

The server requires a conditional request to avoid lost updates.

Precondition Required
429
Too Many Requests

Rate limit exceeded. Send Retry-After and document the quota.

Too Many Requests
431
Headers Too Large

Request headers exceed the server limit. Cookies are a common cause.

Request Header Fields Too Large
451
Unavailable For Legal Reasons

Blocked for legal reasons, such as censorship or a court order.

Unavailable For Legal Reasons
500
Internal Server Error

An unexpected server failure. Log it, but do not leak details to clients.

Internal Server Error
501
Not Implemented

The server does not support the requested functionality or method.

Not Implemented
502
Bad Gateway

A proxy received an invalid response from an upstream server.

Bad Gateway
503
Service Unavailable

The server is overloaded or in maintenance. Send Retry-After.

Service Unavailable
504
Gateway Timeout

A proxy did not receive a timely response from an upstream server.

Gateway Timeout
505
HTTP Version Not Supported

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

HTTP Version Not Supported
507
Insufficient Storage

The server cannot store the representation. Common in WebDAV.

Insufficient Storage
508
Loop Detected

The server detected an infinite loop while processing the request.

Loop Detected
510
Not Extended

The request needs further extensions for the server to fulfil it.

Not Extended
511
Network Authentication Required

The client must authenticate to get network access, as in a captive portal.

Network Authentication Required

What this tool does

HTTP status codes tell a client what happened to a request. The first digit identifies the class: informational, success, redirection, client error or server error. This reference lists the codes you actually meet in APIs and browsers, with a short explanation and a search box.

How to use it

  1. Search a code or a keyword.
  2. Filter by class if you want a broad view.
  3. Read the meaning and pick the right code.

Questions

401 vs 403?

401 means unauthenticated — the server does not know who you are. 403 means authenticated but not allowed to access this resource.

200 vs 201?

200 is a generic success, used for reads and updates. 201 says a resource was created and should include its Location.

Are custom status codes allowed?

Clients understand the class from the first digit, but inventing codes hurts interoperability. Use a standard code and explain details in the body.

← Back to all tools
Type to filter, ↑↓ to move, ↵ to open, esc to close.esc