About this tool
Every response from a web server starts with a three-digit status code. It tells the browser whether everything worked (2xx), whether it should look elsewhere (3xx), whether the request was faulty (4xx) or the server has a problem (5xx). Anyone running websites, developing APIs or troubleshooting comes across these codes all the time.
The overview explains all official codes according to RFC 9110 and other standards, plus common unofficial ones such as 499 from nginx or the 52x errors from Cloudflare. Search by code, class or keyword. Which codes an address actually returns is shown by the HTTP Header Checker; which services run on which ports by the Port Lookup.
How it works
- Enter a status code, e.g. 429, or a keyword like “timeout”.
- Filter by class if needed, e.g. only redirects (3xx).
- Read the name, meaning and the underlying standard.
- Unofficial codes are marked – they come from individual servers or services.
Frequently asked questions
What is the difference between 301 and 302?
301 is a permanent redirect: search engines adopt the new address and browsers remember it. 302 is temporary – the old URL remains the right one. If method and body must be preserved (e.g. for POST), use 308 or 307.
When 401 and when 403?
401 Unauthorized actually means “not logged in”: with valid credentials it works. 403 Forbidden means access stays forbidden even when logged in, e.g. due to missing permissions or a block.
What to do about 502, 503 or 504?
These codes point to problems behind the web server: 502 means a proxy got a broken response, 503 that the service is overloaded or under maintenance, 504 that the response took too long. As a visitor, waiting is usually all you can do; as an operator, check the logs of the application behind the proxy.
Does the code 418 really exist?
“I’m a teapot” comes from an April fools’ RFC from 1998 about coffee pots. It is not a real standard but is supported by many frameworks and occasionally used for easter eggs or to fend off bots.