HTTP Status Codes Reference

All 63 HTTP status codes with descriptions, causes, and developer tips. Search by code or keyword, filter by class, and expand any card for full details.

Free Tool

Quick Answer

What are the HTTP status code categories?

HTTP status codes have five categories: 1xx (Informational) for in-progress requests, 2xx (Success) for completed requests, 3xx (Redirection) for URL changes, 4xx (Client Error) for bad requests, and 5xx (Server Error) for server failures. The most common codes are 200 OK, 301 redirect, 404 Not Found, and 500 Internal Server Error.

HTTP Status Code Reference

All 63 codes -- search, filter, and expand for full details

Showing 59 of 59 codes

100

Continue

Server received request headers; client should proceed to send the body.

101

Switching Protocols

Server agrees to switch to the protocol requested via the Upgrade header.

102

Processing

Server has received the request and is processing it; no response available yet.

103

Early Hints

Sends preload Link headers before the final response to allow early resource fetching.

200

OK

The request succeeded. Response body contains the requested data.

201

Created

The request succeeded and a new resource was created as a result.

202

Accepted

Request accepted for processing but processing is not yet complete.

203

Non-Authoritative Information

Success, but returned metadata came from a third party rather than the origin server.

204

No Content

Request succeeded but there is no content to return in the response body.

205

Reset Content

Request succeeded; client should reset the document view (e.g., clear a form).

206

Partial Content

Server is delivering only part of the resource due to a Range header in the request.

207

Multi-Status

Response contains multiple independent status codes in the body (WebDAV).

208

Already Reported

DAV binding members already enumerated in a previous 207 reply; not included again.

226

IM Used

Server fulfilled a GET and the response represents result of instance manipulations.

300

Multiple Choices

The request has multiple possible responses; the client should choose one.

301

Moved Permanently

The resource has permanently moved to a new URL. Update bookmarks and inbound links.

302

Found

The resource is temporarily at a different URL. Do not update bookmarks.

303

See Other

The response to the request can be found at a different URI via a GET.

304

Not Modified

The cached version of the resource is still valid; no body is returned.

307

Temporary Redirect

Temporary redirect that explicitly preserves the original HTTP method.

308

Permanent Redirect

Permanent redirect that preserves the original HTTP method.

400

Bad Request

Server cannot process the request due to malformed syntax or invalid parameters.

401

Unauthorized

Authentication is required and has failed or has not been provided.

403

Forbidden

The server understood the request but refuses to authorize it.

404

Not Found

The server cannot find the requested resource.

405

Method Not Allowed

The HTTP method is not supported for the target resource.

406

Not Acceptable

Server cannot produce a response matching the Accept headers sent by the client.

407

Proxy Authentication Required

Client must authenticate with the proxy before the request can be fulfilled.

408

Request Timeout

Server timed out waiting for the client to send the complete request.

409

Conflict

The request conflicts with the current state of the target resource.

410

Gone

The resource has been permanently deleted and will not return.

411

Length Required

Server refuses the request without a defined Content-Length header.

412

Precondition Failed

A conditional request header evaluated to false on the server.

413

Content Too Large

The request body exceeds the size limit the server is willing to process.

414

URI Too Long

The request URI is longer than the server is willing to interpret.

415

Unsupported Media Type

Server refuses to accept the request because the payload format is unsupported.

416

Range Not Satisfiable

The Range header in the request cannot be fulfilled by the server.

417

Expectation Failed

Server cannot meet the requirements stated in the Expect request header.

418

I'm a Teapot

The server refuses to brew coffee because it is, permanently, a teapot.

422

Unprocessable Content

Request is well-formed but contains semantic errors that prevent processing.

423

Locked

The resource is currently locked and cannot be accessed or modified.

424

Failed Dependency

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

425

Too Early

Server is unwilling to risk processing a request that might be replayed.

426

Upgrade Required

Client should switch to a different protocol specified in the Upgrade header.

428

Precondition Required

Server requires the request to be conditional to prevent lost-update problems.

429

Too Many Requests

Client has sent too many requests in a given time window; rate limit exceeded.

431

Request Header Fields Too Large

Server refuses the request because one or more headers exceed size limits.

451

Unavailable For Legal Reasons

Resource cannot be served due to legal restrictions such as government orders or DMCA.

500

Internal Server Error

A generic server-side error with no more specific code available.

501

Not Implemented

The server does not support the functionality required to fulfill the request.

502

Bad Gateway

Server acting as a gateway received an invalid response from an upstream server.

503

Service Unavailable

The server is temporarily unable to handle requests due to overload or maintenance.

504

Gateway Timeout

Server acting as gateway did not receive a timely response from an upstream server.

505

HTTP Version Not Supported

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

506

Variant Also Negotiates

Server has a content negotiation configuration error resulting in a circular reference.

507

Insufficient Storage

Server cannot store the representation needed to complete the request.

508

Loop Detected

The server detected an infinite loop while processing a WebDAV request.

510

Not Extended

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

511

Network Authentication Required

Client needs to authenticate with the network (e.g., captive portal) to gain access.

About this tool

This HTTP status code reference covers all 63 standard codes defined across RFC 7231, RFC 4918 (WebDAV), and related specifications. Each entry includes a short description for quick scanning, plus an expandable detail panel with full context, practical developer tips, and a concrete example use case. Use the search box or category filters to jump directly to the code you need.

Whether you are debugging a failing API call, implementing correct response codes in your own server, or brushing up before an interview, this reference is designed for speed. The color-coded badges map to the five HTTP status classes at a glance: blue for informational, emerald for success, amber for redirects, orange for client errors, and red for server errors.

How it works

  1. 1

    Search by code or keyword

    Type a code number (404) or any keyword (timeout, redirect, forbidden) in the search box. Results filter live as you type.

  2. 2

    Filter by status class

    Click All, 1xx, 2xx, 3xx, 4xx, or 5xx to narrow results to a single category. The result count updates immediately.

  3. 3

    Expand for full details

    Click the Details button on any card to expand the full description, when-to-use guidance, developer tip, and a code example.

  4. 4

    Copy the code number

    Click Copy code on any card to copy just the numeric code to your clipboard for pasting into docs, tickets, or code.

HTTP status code categories

ClassRangeMeaningCommon example
1xx100-199Informational -- request received, processing in progress101 Switching Protocols (WebSocket upgrade)
2xx200-299Success -- request received, understood, and accepted200 OK, 201 Created, 204 No Content
3xx300-399Redirection -- client must take additional action to complete request301 Moved Permanently, 304 Not Modified
4xx400-499Client error -- request contains bad syntax or cannot be fulfilled400 Bad Request, 401 Unauthorized, 404 Not Found
5xx500-599Server error -- server failed to fulfil a valid request500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable

Top 10 codes every developer should know

The codes you will encounter and implement most often in day-to-day API and web development.

CodeNameMost common cause
200OKStandard GET, PUT, or PATCH returning data
201CreatedSuccessful POST creating a new resource
204No ContentSuccessful DELETE with no response body
301Moved PermanentlyPermanent domain migration or URL restructure
304Not ModifiedConditional GET matched cached ETag or Last-Modified
400Bad RequestMissing required field or invalid parameter value
401UnauthorizedMissing or expired bearer token
403ForbiddenAuthenticated user lacks the required permission
404Not FoundWrong URL, deleted resource, or hidden resource
500Internal Server ErrorUnhandled exception or crash in application code

Frequently asked questions

What are HTTP status codes?
HTTP status codes are 3-digit numbers returned by a server in response to a client request. They indicate whether the request succeeded, failed, or requires further action. Codes are grouped into five classes: 1xx informational, 2xx success, 3xx redirection, 4xx client errors, and 5xx server errors.
What is the difference between 401 and 403?
A 401 Unauthorized means the client is not authenticated and must provide credentials to access the resource. A 403 Forbidden means the server understands the request and knows who the client is, but refuses access regardless. Use 401 when login is required and 403 when the user is logged in but lacks permission.
What does a 301 vs 302 redirect mean for SEO?
A 301 Moved Permanently tells search engines the resource has moved forever and to transfer link equity to the new URL. A 302 Found is a temporary redirect that does not transfer link equity. Always use 301 for permanent SEO-safe redirects and 302 only for genuinely temporary moves.
What causes a 502 Bad Gateway error?
A 502 Bad Gateway means a server acting as a gateway or proxy received an invalid response from an upstream server. Common causes include the upstream server being down, overloaded, or returning malformed responses. It is not a client error and usually requires server-side investigation.
What is HTTP status code 429?
HTTP 429 Too Many Requests means the client has sent too many requests in a given time period and the server is rate limiting them. APIs use 429 to enforce usage limits. The response typically includes a Retry-After header indicating when the client can try again.
What is the 418 I am a teapot status code?
HTTP 418 I am a teapot is an April Fools joke defined in RFC 2324 (Hyper Text Coffee Pot Control Protocol) in 1998. It means the server refuses to brew coffee because it is a teapot. It is not used in production but is a beloved Easter egg in developer culture.
When should I use 204 No Content vs 200 OK?
Use 204 No Content when the request succeeded but there is no response body to return, such as after a DELETE request or a successful form submission that does not redirect. Use 200 OK when the request succeeded and you are returning data in the response body.
What is the difference between 404 and 410?
A 404 Not Found means the resource was not found but may exist in the future. A 410 Gone means the resource existed but has been permanently deleted and will not return. Use 410 for deleted content to signal to search engines to remove the URL from their index faster than a 404.

Related guides

Related tools