HTTP Status Codes
A searchable reference of HTTP status codes — 200, 301, 404, 500 and more — with plain-language meanings. In your browser.
1xx informational response
2xx success
3xx redirection
4xx client error
5xx server error
🔒 A static reference — nothing is uploaded.
Look up any HTTP status code
Search by number (like 404) or name (like Not Found) to see what a status code means,
colour-coded by category: 1xx informational, 2xx success, 3xx redirection, 4xx client error and 5xx server error.
It's a static reference, so nothing is uploaded.
The five categories
2xx means the request worked, 3xx means it was redirected, 4xx means the client made a mistake (like a bad URL), and 5xx means the server failed.
The first digit is the whole story
1xx is "still going", 2xx is "it worked", 3xx is "look elsewhere", 4xx is "you got it wrong" and 5xx is "we got it wrong". That last split is the one that matters in an incident: a wall of 4xx is a client, a crawler or an integration sending something bad, while a wall of 5xx is yours. It is also the line teams cross by accident — returning 200 with an error message in the body makes every monitor, cache and retry policy believe the request succeeded, and is the single most common way a broken endpoint stays invisible.
The pairs people get wrong
301 and 302. A 301 is permanent and browsers cache it hard — often until the profile is cleared, and no header reliably takes it back. Use 302 or 307 while you are still deciding, and 301 only when you mean forever. 401 and 403. 401 means "I do not know who you are, try authenticating"; 403 means "I know exactly who you are and the answer is still no". Sending 401 for a permission problem invites a client into a login loop it can never escape. 404 and 410. 410 says the thing is gone deliberately, which lets a crawler drop it far faster than a 404 will.
Frequently asked questions
What's the difference between 301 and 302?
301 is a permanent redirect (update your links), while 302 is temporary (keep using the original URL).
What does 404 mean?
Not Found — the server could not find the requested resource at that URL.
What does 415 mean?
Unsupported Media Type — the server rejected the request because its Content-Type isn't supported (a common cause of failed POST/upload requests).
What does 500 mean?
Internal Server Error — a generic message that something went wrong on the server side.
301 or 302 — which should I use?
302 (or 307, which preserves the method) unless you are certain the move is permanent. Browsers cache a 301 aggressively and there is no reliable way to un-send it; a wrong 301 can outlive the mistake by months.
What is the difference between 401 and 403?
401 means the request was not authenticated — credentials are missing or invalid, so try again with some. 403 means the request was authenticated and is still refused. Using 401 for a permissions failure sends clients into a login loop.
Is it ever fine to return 200 with an error inside?
Rarely, and only where the protocol on top defines its own status — some RPC styles do. Otherwise it hides failures from every cache, monitor and retry policy in the path, which all read the status line and not your body.
What does 418 mean?
It is the April Fools’ teapot code from 1998, defined in a joke RFC and never a real status. Some servers still implement it; nothing should depend on it.