HTTP Status Code Reference
What does this HTTP status code mean and when does it occur?
Enter any HTTP status code number. Get the status name, description, and explanation of when this code is returned by web servers.
—
Send feedback
💡 Share your idea or report a problem
✓ Thanks! We'll take a look.
Learn more
How It Works
The formula, explained simply
HTTP status codes are three-digit numbers that web servers send back to browsers and applications to indicate what happened with a request. When you visit a website or an app makes an API call, the server processes the request and responds with both the requested content and a status code that summarizes the outcome.
The first digit of the status code defines the general category of response. Codes starting with 1 are informational responses that indicate the request is being processed. 2xx codes signal success - your request worked and the server is returning what you asked for. 3xx codes indicate redirection - the resource you want is available but at a different location. 4xx codes mean client errors - there's something wrong with your request like a missing page or authentication issue. 5xx codes indicate server errors - your request was valid but the server failed to fulfill it.
Developers use HTTP status codes to build robust applications that handle different scenarios gracefully. Instead of just displaying a generic error message, your code can check the specific status code and show appropriate feedback to users. For example, a 404 might show a 'page not found' message with navigation options, while a 503 might display 'temporarily unavailable, please try again later'.
When To Use This
Right tool, right situation
Use this HTTP status code reference when debugging web applications, APIs, or websites that aren't behaving as expected. When you encounter an error page or failed request, the status code gives you immediate insight into whether the problem is with your request, your permissions, or the server itself.
Developers should reference status codes when building error handling in applications. Instead of showing generic error messages, check the specific code and provide targeted feedback. A 404 might suggest alternative pages, a 401 might prompt for login, and a 503 might show a retry button with a timeout.
This tool is also valuable when testing APIs or web services. Status codes help you verify that your application is responding correctly to different scenarios. During development, you can intentionally trigger different status codes to ensure your error handling works properly before users encounter real problems.
Common Mistakes
Why results sometimes look wrong
The most common mistake developers make with HTTP status codes is returning 200 OK for everything, even when errors occur. This forces applications to parse response content to determine if something went wrong, breaking standard HTTP conventions and making debugging much harder.
Another frequent error is confusing 401 and 403 codes. Many APIs incorrectly return 401 when they should return 403, or vice versa. Remember: 401 means 'who are you?' (authentication required) while 403 means 'I know who you are but you can't do this' (authorization failed). Using the wrong code misleads developers about whether they need to authenticate or get different permissions.
Developers also commonly misuse redirect codes, particularly 301 vs 302. A 301 permanent redirect tells browsers and search engines to update their links and never check the old URL again. A 302 temporary redirect says the resource might come back to the original location. Using 301 when you mean 302 can cause SEO problems and caching issues that are difficult to fix later.
The Math
Worked examples and deeper derivation
HTTP status codes follow a structured numbering system defined by the Internet Engineering Task Force (IETF) in RFC specifications. The three-digit format allows for 500 possible codes (100-599), though only about 60 are officially defined and commonly used.
The mathematical structure is simple but effective: the hundreds digit categorizes the response type, while the tens and units digits specify the exact condition. This hierarchical system means you can write code that handles entire categories (like all 4xx errors) or specific conditions (like exactly 404). The ranges are: 1xx (100-199) for informational, 2xx (200-299) for success, 3xx (300-399) for redirection, 4xx (400-499) for client errors, and 5xx (500-599) for server errors.
Web servers and applications can also define custom status codes within these ranges, though this is uncommon in practice. Most implementations stick to the standard codes to ensure compatibility across different systems and make debugging easier for developers.
Common questions
Need something this doesn't cover?
Suggest a tool — we'll build it →