HTTP Status Codes

Complete HTTP status code reference with explanations, use cases, and examples. Look up any HTTP response code from 1xx informational to 5xx server errors.

Used 13.7K times today

1xx — Informational

100
Continue
The server has received the request headers, client should proceed.
101
Switching Protocols
Server is switching protocols as requested.
102
Processing
Server has received and is processing the request, no response available yet.
103
Early Hints
Returns response headers before final response is ready.

2xx — Success

200
OK
The request succeeded. Default success status.
201
Created
The request succeeded and a new resource was created.
202
Accepted
Request received but not yet acted upon.
203
Non-Authoritative Information
Returned meta-information is not from the origin server.
204
No Content
Request succeeded, no content to send in response.
205
Reset Content
Server tells client to reset the document.
206
Partial Content
Partial GET request was successful.
207
Multi-Status
Multiple status codes might be appropriate (WebDAV).
208
Already Reported
Members already enumerated in a previous reply (WebDAV).
226
IM Used
Server fulfilled a GET request using instance manipulation.

3xx — Redirection

300
Multiple Choices
Multiple options for the requested resource.
301
Moved Permanently
Resource has permanently moved to a new URL.
302
Found
Resource temporarily resides at a different URL.
303
See Other
Response found at different URI using GET method.
304
Not Modified
Cached version is still valid, no need to retransmit.
307
Temporary Redirect
Resource temporarily at a different URL, same method.
308
Permanent Redirect
Resource permanently at a different URL, same method.

4xx — Client Errors

400
Bad Request
Server cannot process the request due to client error.
401
Unauthorized
Client must authenticate to get the requested response.
402
Payment Required
Reserved for future use, sometimes used for digital payments.
403
Forbidden
Client does not have access rights to the content.
404
Not Found
Server cannot find the requested resource.
405
Method Not Allowed
Request method is known but not supported for the resource.
406
Not Acceptable
No content matching the criteria found per content negotiation.
407
Proxy Authentication Required
Authentication needed by a proxy.
408
Request Timeout
Server timed out waiting for the request.
409
Conflict
Request conflicts with the current state of the server.
410
Gone
Requested content permanently deleted from server.
411
Length Required
Content-Length header field is required.
412
Precondition Failed
Client header preconditions are not met by the server.
413
Payload Too Large
Request entity is larger than limits defined by server.
414
URI Too Long
The URI requested is longer than the server will interpret.
415
Unsupported Media Type
Media format of the requested data is not supported.
416
Range Not Satisfiable
Range specified in Range header cannot be fulfilled.
417
Expectation Failed
Expectation in Expect header cannot be met.
418
I'm a Teapot
Server refuses to brew coffee because it is a teapot (RFC 2324).
421
Misdirected Request
Request directed to a server unable to produce a response.
422
Unprocessable Entity
Request is well-formed but has semantic errors.
423
Locked
Resource being accessed is locked (WebDAV).
424
Failed Dependency
Request failed due to failure of a previous request (WebDAV).
425
Too Early
Server is unwilling to process a request that might be replayed.
426
Upgrade Required
Client should switch to a different protocol.
428
Precondition Required
Origin server requires the request to be conditional.
429
Too Many Requests
User has sent too many requests in a given amount of time (rate limiting).
431
Request Header Fields Too Large
Server is unwilling to process request because headers are too large.
451
Unavailable For Legal Reasons
Resource requested is unavailable for legal reasons.

5xx — Server Errors

500
Internal Server Error
Server encountered unexpected condition.
501
Not Implemented
Request method not supported by the server.
502
Bad Gateway
Server received invalid response from upstream server.
503
Service Unavailable
Server not ready to handle the request.
504
Gateway Timeout
Server acting as gateway did not get response in time.
505
HTTP Version Not Supported
HTTP version used is not supported.
506
Variant Also Negotiates
Internal server configuration error during content negotiation.
507
Insufficient Storage
Server unable to store the representation (WebDAV).
508
Loop Detected
Server detected infinite loop while processing request (WebDAV).
510
Not Extended
Further extensions required for the server to fulfill the request.
511
Network Authentication Required
Client needs to authenticate to gain network access.

How to Use HTTP Status Codes

  1. 1

    Search or browse status codes

    Type a status code number (e.g., 404) or keyword (e.g., "redirect") in the search box, or browse by category.

  2. 2

    Read the explanation

    Each status code includes its official name, a plain-English explanation, and typical use cases in REST APIs.

  3. 3

    Copy or share

    Copy the status code and description to use in API documentation, error handling code, or team discussions.

Frequently Asked Questions

What is the difference between 401 and 403?
401 Unauthorized means the request lacks valid authentication credentials — the client should authenticate and try again. 403 Forbidden means the server understood the request and the client is authenticated, but they do not have permission to access the resource.
When should I use 400 vs 422?
400 Bad Request is for malformed syntax (e.g., invalid JSON). 422 Unprocessable Entity is for semantically invalid data (e.g., well-formed JSON with invalid field values). REST APIs often use 422 for validation errors.
What does a 429 status code mean?
429 Too Many Requests indicates the client has exceeded a rate limit. The response typically includes a Retry-After header indicating when the client can try again.

About HTTP Status Codes

The HTTP Status Codes reference covers all standard codes defined by RFC 7231, RFC 6585, and other RFCs, from 100 Continue to 511 Network Authentication Required. Every developer working with web APIs, HTTP clients, or server-side code needs to understand these codes to build robust error handling, write clear API documentation, and debug connectivity issues effectively.

This reference includes not just the official code names and definitions, but also practical guidance on when to use each code in REST API design, common misconceptions (like the 401 vs 403 confusion), and notes on codes that are deprecated or non-standard but still encountered in the wild.

More Developer Tools Tools