HTTP Status Codes
Runs in browserComplete 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 Protocols2xx — Success ✓
Request was successfully received, understood, and accepted.
200 OK, 201 Created, 204 No Content3xx — Redirection
Further action needed to complete the request.
301 Moved Permanently, 302 Found, 304 Not Modified4xx — Client Error
Request contains bad syntax or cannot be fulfilled.
400 Bad Request, 401 Unauthorized, 404 Not Found5xx — Server Error
Server failed to fulfill a valid request.
500 Internal Server Error, 502 Bad Gateway, 503 Service UnavailableMost 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
- MDN: HTTP Status Codes - Detailed Mozilla documentation.
- IANA HTTP Status Code Registry - The official registry.