HTTP Status Codes

Runs in browser

Complete reference for HTTP status codes

Continue

Server received request headers, client should proceed to send body

Switching Protocols

Server is switching protocols as requested by client

Processing

Server is processing the request but no response yet

Early Hints

Used to return some response headers before final response

OK

Request succeeded. Standard response for successful HTTP requests

Created

Request succeeded and a new resource was created

Accepted

Request accepted for processing but not yet completed

No Content

Request succeeded but no content to return

Partial Content

Server is delivering only part of the resource

Moved Permanently

Resource has been moved permanently to new URL

Found

Resource temporarily resides at a different URL

See Other

Response to request can be found at another URL

Not Modified

Resource has not been modified since last requested

Temporary Redirect

Request should be repeated with another URL

Permanent Redirect

Request and future requests should use another URL

Bad Request

Server cannot process request due to client error

Unauthorized

Authentication is required and has failed or not provided

Forbidden

Server understood request but refuses to authorize it

Not Found

Requested resource could not be found on the server

Method Not Allowed

Request method is not supported for the resource

Request Timeout

Server timed out waiting for the request

Conflict

Request conflicts with current state of the resource

Gone

Resource is no longer available and will not be available again

Payload Too Large

Request entity is larger than server is willing to process

Unsupported Media Type

Request uses a media type the server does not support

Unprocessable Entity

Request was well-formed but semantically erroneous

Too Many Requests

User has sent too many requests in given time (rate limiting)

Internal Server Error

Generic error message for unexpected server condition

Not Implemented

Server does not recognize request method or cannot fulfill it

Bad Gateway

Server received an invalid response from upstream server

Service Unavailable

Server is currently unavailable (overloaded or maintenance)

Gateway Timeout

Upstream server failed to send a response in time

About HTTP Status Codes

HTTP status codes are three-digit numbers returned by web servers indicating the result of a client's request. Understanding these codes is essential for debugging web applications, APIs, and network issues.

How to Use

Browsing

  • Search: Filter by code (e.g. "404") or name ("Not Found").
  • Categories: Click tabs to filter by 2xx, 3xx, 4xx, etc.
  • Details: Read descriptions to understand when each code is used.

Utility

  • Copy: Click any status code number to copy it to clipboard.
  • Color-coded: Quickly identify success (green), errors (red/orange), etc.
  • Reference: Use as a cheat sheet during API development.

Status Code Categories

1xx — Informational

Request received, continuing process. Rarely seen in practice.

100 Continue, 101 Switching Protocols

2xx — Success ✓

Request was successfully received, understood, and accepted.

200 OK, 201 Created, 204 No Content

3xx — Redirection

Further action needed to complete the request.

301 Moved Permanently, 302 Found, 304 Not Modified

4xx — Client Error

Request contains bad syntax or cannot be fulfilled.

400 Bad Request, 401 Unauthorized, 404 Not Found

5xx — Server Error

Server failed to fulfill a valid request.

500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable

Most Common Status Codes

200
OK — Standard success response
201
Created — Resource successfully created (POST)
204
No Content — Success with no response body
301
Moved Permanently — URL changed permanently
304
Not Modified — Use cached version
400
Bad Request — Invalid syntax
401
Unauthorized — Authentication required
403
Forbidden — Access denied
404
Not Found — Resource doesn't exist
429
Too Many Requests — Rate limited
500
Internal Server Error — Generic server error
502
Bad Gateway — Upstream server error
503
Service Unavailable — Server overloaded

API Design Best Practices

  • GET success: Return 200 with data
  • POST success: Return 201 with created resource
  • PUT/PATCH success: Return 200 with updated resource
  • DELETE success: Return 204 (no content)
  • Validation error: Return 400 with error details
  • Auth required: Return 401 (not 403)
  • Permission denied: Return 403

💡 Pro Tips

  • Use 201 (not 200) when creating resources
  • Return 204 for DELETE instead of 200 with empty body
  • Use 422 for validation errors in REST APIs
  • Distinguish between 401 (unauthenticated) and 403 (unauthorized)
  • Include error details in response body, not just status code

Further Reading