DeveloperNEW

HTTP Status Code Reference

A complete reference for HTTP status codes — 1xx through 5xx — with clear explanations, when they are returned, and what they mean for debugging.

Developer/http-status-code-lookup
Live in browser
Search Status Codes
Informational (1xx)
100Continue

Server received request headers, client should continue sending body.

101Switching Protocols

Server agrees to switch protocols as requested.

102Processing

Server is processing the request but no response is available yet.

Success (2xx)
200OK

Request succeeded. Response body contains the requested data.

201Created

Resource was successfully created.

202Accepted

Request accepted for processing but not yet completed.

204No Content

Request succeeded but there is no content to return.

Redirection (3xx)
301Moved Permanently

Resource has been permanently moved to a new URL.

302Found

Resource temporarily located at a different URL.

303See Other

Response to this request can be found at another URI using GET.

304Not Modified

Resource has not been modified since last request (cache hit).

307Temporary Redirect

Request should be repeated at another URI without changing the method.

308Permanent Redirect

Request should be repeated at another URI with the same method.

Client Error (4xx)
400Bad Request

Server could not understand the request due to invalid syntax.

401Unauthorized

Authentication is required and has failed or not been provided.

403Forbidden

Server understood the request but refuses to authorize it.

404Not Found

Server cannot find the requested resource.

405Method Not Allowed

HTTP method is not supported for the requested resource.

408Request Timeout

Server timed out waiting for the request.

409Conflict

Request conflicts with the current state of the server.

413Payload Too Large

Request entity is larger than the server is willing to process.

418I'm a teapot

This server is a teapot and refuses to brew coffee (RFC 2324).

422Unprocessable Entity

Request is well-formed but contains semantic errors.

429Too Many Requests

Client has sent too many requests in a given time period.

Server Error (5xx)
500Internal Server Error

Server encountered an unexpected condition that prevented fulfilling the request.

501Not Implemented

Server does not support the functionality required to fulfill the request.

502Bad Gateway

Server acting as gateway received an invalid response from upstream.

503Service Unavailable

Server is temporarily unable to handle the request.

504Gateway Timeout

Server acting as gateway did not receive a timely response from upstream.

Continue the workflow

Tools that pair well.

01 · Overview

What Is an HTTP Status Code Reference?

HTTP status codes are three-digit numbers returned by servers to indicate the result of an HTTP request. They are grouped into five categories: informational (1xx), success (2xx), redirection (3xx), client error (4xx), and server error (5xx). Understanding these codes is essential for web development, API integration, and troubleshooting.

This reference provides plain-English explanations for every standard HTTP status code, including less common ones. Each entry includes what the code means, when it is typically returned, and practical tips for debugging or resolving the issue.

Whether you are debugging a 404 Not Found, investigating a 500 Internal Server Error, or configuring proper redirects with 301 and 302, this tool gives you clear, actionable information without searching through documentation.

02 · Walkthrough

How to Use the HTTP Status Code Reference

  1. Step 01

    Browse status codes by category or use the search bar to find a specific code number.

  2. Step 02

    Click on any status code to see its full explanation, common causes, and debugging tips.

  3. Step 03

    Use the filter to show only success codes, redirect codes, client errors, or server errors.

  4. Step 04

    Bookmark frequently referenced codes for quick access during development or incident response.

  5. Step 05

    Share specific code explanations with team members during debugging sessions.

03 · Why it matters

Why Use an HTTP Status Code Reference

  • ✱ 01Identify the root cause of API and website issues faster with clear code explanations.
  • ✱ 02Learn the difference between similar status codes to apply the right fix.
  • ✱ 03Reference standard codes during development to ensure your app returns the correct responses.
  • ✱ 04Understand less common codes that rarely appear but cause confusion when they do.
  • ✱ 05Search by code number or description for instant lookup during time-sensitive debugging.

04 · In the wild

Common Use Cases

Case 01

API integration debugging

Developers look up unexpected status codes when integrating third-party APIs to understand authentication, rate limiting, or validation failures.

Case 02

Web development

Engineers ensure their applications return the correct status codes for SEO, caching, and proper error handling.

Case 03

Incident troubleshooting

Operations teams reference status codes during outages to categorize and prioritize issues across services.

✓ Do

HTTP Status Code Best Practices

  • Return the most specific status code possible — use 422 for validation errors instead of generic 400.
  • Use 301 for permanent redirects and 302 for temporary ones to guide search engine behavior correctly.
  • Implement proper 404 pages that help users find what they are looking for instead of dead ends.
  • Return 401 for unauthenticated requests and 403 for forbidden access to distinguish between missing credentials and insufficient permissions.
  • Use 429 with a Retry-After header for rate limiting to give clients clear guidance on when to retry.

✗ Avoid

Common HTTP Status Code Mistakes

  • Returning 200 OK with an error message in the body instead of using the appropriate 4xx or 5xx code.
  • Confusing 401 (Unauthorized) with 403 (Forbidden) — they serve different authentication and authorization purposes.
  • Using 302 for permanent redirects instead of 301, which wastes crawl budget and confuses search engines.
  • Returning 500 for client-side errors that should be 400-level responses, hiding the real issue.
  • Overusing generic 400 Bad Request instead of more specific codes like 404, 409, or 422.

05 · Questions

Frequently Asked Questions

Q01What is the difference between 401 and 403?

401 means authentication is required or has failed. 403 means you are authenticated but lack permission to access the resource.

Q02When should I use 301 vs 302 redirects?

Use 301 for permanent redirects (the resource has moved permanently). Use 302 for temporary redirects (the resource is temporarily at a different URL).

Q03What does a 500 Internal Server Error mean?

A 500 error means the server encountered an unexpected condition that prevented it from fulfilling the request. It is a generic server-side error that requires investigation.

Q04Is 418 a real status code?

Yes, 418 is a real HTTP status code from an April Fools RFC. Some APIs implement it as an Easter egg, but it is not used in production systems.

Q05What does 429 Too Many Requests mean?

A 429 response means you have sent too many requests in a given time period (rate limiting). The server should include a Retry-After header indicating when you can try again.

06 · Before you go

Pro Tips

  • 01Use browser developer tools Network tab to see status codes for every request your page makes.
  • 02Combine status code lookup with curl or fetch to reproduce and debug issues from the command line.
  • 03Keep a cheat sheet of common codes pinned for quick reference.