HTTP Status Code Reference
Every HTTP status code — 1xx to 5xx — with RFC 9110 citations and real-world examples
How to use
- Search by code or name
- Filter by category
- Read descriptions and RFC citations
Use cases
- API design
- Error handling
- Debugging
About the HTTP Status Code Reference
Every network engineer and backend developer needs an HTTP status code cheat sheet. This one goes beyond the basics — each code includes its RFC, a plain-English description, and real-world usage examples where the semantics are subtle (401 vs 403, 301 vs 308, 422 vs 400). Full-text search catches what you don't know the number for.
Features
- 40+ status codes from RFC 9110 and extensions (RFC 6585, 7538, 7725, 8297, 4918)
- Category filter (1xx / 2xx / 3xx / 4xx / 5xx)
- Full-text search over code, name, description, examples
- Real-world usage examples for non-obvious codes
- Color-coded by category
How it works
- Search by code, name, or description.
- Filter by status class.
- Click through to read descriptions, RFC citations, and examples.
Frequently asked questions
What's the difference between 401 and 403?
+
401 = you're not authenticated (or your credentials are wrong). 403 = you ARE authenticated, but this resource isn't for you. 'Unauthorized' is a misnomer — the original spec meant 'Unauthenticated'.
When should I use 422 vs 400?
+
400 = request syntax broken (malformed JSON). 422 = syntax OK, semantics wrong (missing required field, invalid email format). 422 is less universally understood — use 400 if the distinction isn't critical.
Is 418 I'm a teapot a real status code?
+
Yes, registered in RFC 2324 as an April Fools joke. Kept for nostalgia. Don't use in production.
When should I return 301 vs 302 vs 307 vs 308?
+
301 = permanent (browsers + Google update bookmarks/rankings). 302 = temporary (don't update). 307 / 308 are the HTTP-method-preserving variants; 307 for temporary, 308 for permanent.
What's the right code for rate limiting?
+
429 Too Many Requests (RFC 6585). Always include a Retry-After header so clients know when to retry.