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.

Updated June 2026 · How this works

Worth knowing
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.

Debugging a broken website link
Status code: 404
The 404 Not Found error means the server cannot find the requested page - either the URL is wrong or the page was deleted.
API rate limiting issue
Status code: 429
The 429 Too Many Requests error indicates you're hitting the API too frequently and need to slow down your request rate.
Website maintenance downtime
Status code: 503
The 503 Service Unavailable error means the server is temporarily overloaded or under maintenance - try again later.

Common questions

What does HTTP status code 404 mean?
HTTP status code 404 means 'Not Found' - the server cannot locate the requested resource. This happens when a webpage is deleted, moved, or the URL contains a typo. It's a client error indicating the request was formatted correctly but the resource doesn't exist at that location.
How do I fix a 500 internal server error?
A 500 internal server error indicates a problem on the server side, not with your request. As a user, you can try refreshing the page, clearing your browser cache, or waiting and trying again later. If you're a developer, check server logs for the specific error causing the issue.
What's the difference between 401 and 403 HTTP status codes?
HTTP 401 Unauthorized means you need to authenticate (log in) to access the resource. HTTP 403 Forbidden means the server understands who you are but you don't have permission to access that resource. With 401 you can potentially fix it by logging in, with 403 you need different permissions.

Need something this doesn't cover?

Suggest a tool — we'll build it →