Home/Tools/HTTP Status Codes
All Tools →
HTTP Reference

Free HTTP Status Code Reference

Interactive HTTP status code lookup tool for developers, API builders, and support teams. Search by code number, response phrase, or error pattern to get a clear explanation and common fixes.

Everything runs in your browser - no signup, no tracking, and no request data leaves your device.

1xxInformational

100 Continue

The server received the request headers and the client can continue sending the body.

Common causes

  • Large uploads
  • Expect: 100-continue request headers

Common fixes

  • Confirm the client sends the body after receiving the interim response.
  • Check proxy behavior if uploads stall before the body is sent.
1xxInformational

101 Switching Protocols

The server is switching protocols, commonly for WebSocket upgrades.

Common causes

  • WebSocket handshake
  • HTTP upgrade request

Common fixes

  • Verify Upgrade and Connection headers are forwarded by the proxy.
  • Check that the backend supports the requested protocol.
2xxSuccess

200 OK

The request succeeded and the response contains the requested representation.

Common causes

  • Successful GET
  • Successful API read

Common fixes

  • No fix needed. Confirm response body, cache headers, and content type are correct.
  • For APIs, document the response shape and example payload.
2xxSuccess

201 Created

The request succeeded and created a new resource on the server.

Common causes

  • Successful POST
  • Resource creation endpoint

Common fixes

  • Return the new resource location in a Location header when useful.
  • Include the created entity or identifier in the response body.
2xxSuccess

204 No Content

The request succeeded, but the server intentionally returns no response body.

Common causes

  • Successful DELETE
  • Successful update with no body

Common fixes

  • Do not send a response body with 204.
  • Use 200 if clients need confirmation details in the body.
3xxRedirects

301 Moved Permanently

The resource has permanently moved to a new URL and clients should use the new location.

Common causes

  • Canonical URL migration
  • HTTP to HTTPS redirect

Common fixes

  • Point the Location header to the final canonical URL.
  • Update internal links so users and crawlers avoid extra hops.
3xxRedirects

302 Found

The resource is temporarily available at a different URL.

Common causes

  • Temporary campaign redirect
  • Login flow redirect

Common fixes

  • Use 301 for permanent moves and 302 or 307 for temporary moves.
  • Avoid using 302 for long-term canonical URL changes.
3xxRedirects

304 Not Modified

The cached client copy is still valid, so the server does not resend the body.

Common causes

  • ETag validation
  • If-Modified-Since requests

Common fixes

  • Check ETag and Last-Modified headers when cache behavior looks wrong.
  • Purge stale CDN cache if users see old content.
4xxClient errors

400 Bad Request

The server cannot process the request because the syntax or input is invalid.

Common causes

  • Malformed JSON
  • Invalid query string
  • Missing required fields

Common fixes

  • Validate request JSON and required fields before sending.
  • Return a clear error message naming the invalid field.
4xxClient errors

401 Unauthorized

The request needs valid authentication credentials.

Common causes

  • Missing token
  • Expired session
  • Invalid API key

Common fixes

  • Check Authorization headers and token expiry.
  • Refresh credentials or redirect the user to sign in.
4xxClient errors

403 Forbidden

The server understood the request, but the authenticated user is not allowed to access it.

Common causes

  • Missing permission
  • Plan limit
  • IP allowlist block

Common fixes

  • Verify the user has the required role or entitlement.
  • Log the authorization decision so access issues are diagnosable.
4xxClient errors

404 Not Found

The server cannot find a resource matching the requested URL.

Common causes

  • Wrong route
  • Deleted resource
  • Mistyped URL

Common fixes

  • Check that the route exists and is deployed.
  • Verify dynamic slugs, route parameters, and rewrite rules.
  • Return helpful navigation or search links for users.
4xxClient errors

409 Conflict

The request conflicts with the current state of the target resource.

Common causes

  • Duplicate record
  • Version conflict
  • Concurrent update

Common fixes

  • Return the conflicting field or resource version.
  • Use optimistic locking or idempotency keys for writes.
4xxClient errors

422 Unprocessable Content

The request is syntactically valid, but the submitted data fails business validation.

Common causes

  • Invalid email
  • Unsupported state transition
  • Failed form validation

Common fixes

  • Return field-level validation messages.
  • Keep 400 for malformed syntax and 422 for semantic validation failures.
4xxClient errors

429 Too Many Requests

The client has sent too many requests in a given amount of time.

Common causes

  • Rate limit exceeded
  • Retry loop
  • Bot traffic

Common fixes

  • Return Retry-After when the client can safely retry later.
  • Add client-side backoff and server-side rate limit logs.
5xxServer errors

500 Internal Server Error

The server failed while processing the request.

Common causes

  • Unhandled exception
  • Bad environment variable
  • Runtime dependency failure

Common fixes

  • Check application logs around the request timestamp.
  • Review recent deploys, dependency health, and environment variables.
  • Add a narrower error boundary or typed error response when possible.
5xxServer errors

502 Bad Gateway

A gateway or proxy received an invalid response from an upstream server.

Common causes

  • Backend crashed
  • Proxy timeout
  • Invalid upstream TLS

Common fixes

  • Check upstream health checks and proxy logs.
  • Verify service DNS, ports, TLS settings, and load balancer target groups.
5xxServer errors

503 Service Unavailable

The server is temporarily unavailable or overloaded.

Common causes

  • Maintenance mode
  • Autoscaling lag
  • Dependency outage

Common fixes

  • Return Retry-After if the outage is temporary.
  • Check deployment rollouts, capacity, queues, and dependency status.
5xxServer errors

504 Gateway Timeout

A gateway or proxy did not receive a timely response from an upstream server.

Common causes

  • Slow database query
  • Long external API call
  • Backend timeout

Common fixes

  • Trace the slow upstream request and set realistic timeouts.
  • Move long-running work to a job queue or background worker.

Debugging checklist

Capture the exact URL, method, request body, headers, and response status.
Check whether the response comes from the app, CDN, proxy, or upstream service.
Compare local, staging, and production behavior before changing code.
For 5xx errors, start with server logs and recent deploy history.

HTTP status code FAQ

What is an HTTP status code?

An HTTP status code is a three-digit response from a server that tells the client what happened to a request. The first digit groups the code into success, redirect, client error, or server error families.

Should APIs use 400 or 422 for validation errors?

Use 400 when the request syntax is malformed. Use 422 when the request is syntactically valid but fails business validation, such as an invalid email or unsupported state transition.

What is the fastest way to debug a 500 error?

Start with application logs for the exact request time, then check recent deploys, environment variables, database connectivity, and upstream dependency health.

Why does a site return 301 or 302?

A 301 status is a permanent redirect, often used for canonical URL moves. A 302 status is temporary and tells clients not to treat the target as the permanent new URL.

Related tools