Skip to content
🚀 10 tools live, free forever — the toolbox keeps growing
Home›Tools›HTTP Tools›HTTP Status Codes
HTTP Tool

HTTP Status Codes

A free, searchable reference for every HTTP status code you are likely to meet. Search by number, name or description, filter by class, and read what each code actually means and when a server should return it.

Status Code Lookup

Search 44 HTTP status codes by number, name or meaning. Everything runs in your browser.

44 status codes
100Continue1xx
Keep sending the request body; the headers were acceptable.
101Switching Protocols1xx
The server is switching protocols, typically to WebSocket.
200OK2xx
The request succeeded and the body contains the result.
201Created2xx
A new resource was created; its URL is usually in the Location header.
202Accepted2xx
Accepted for processing, but not finished yet.
204No Content2xx
Success, with deliberately no body to return.
206Partial Content2xx
A range of the resource, in response to a Range request.
301Moved Permanently3xx
Permanent move. Search engines pass ranking to the new URL and browsers cache it hard.
302Found3xx
Temporary redirect. The original URL stays indexed.
303See Other3xx
Fetch the result from another URL using GET, typically after a POST.
304Not Modified3xx
Your cached copy is still valid; nothing was sent.
307Temporary Redirect3xx
Like 302 but the method and body must not change.
308Permanent Redirect3xx
Like 301 but the method and body must not change.
400Bad Request4xx
The server could not parse the request. Usually malformed syntax or parameters.
401Unauthorized4xx
No valid authentication. Retrying with the same credentials will not help.
402Payment Required4xx
Reserved; some APIs use it for quota or billing problems.
403Forbidden4xx
Authenticated but not allowed. Different from 401 - more credentials will not fix it.
404Not Found4xx
No resource at this URL. The server will not say whether it ever existed.
405Method Not Allowed4xx
The URL exists but not for this HTTP method.
406Not Acceptable4xx
Nothing available matches the Accept headers you sent.
408Request Timeout4xx
The client took too long to send the request.
409Conflict4xx
The request clashes with the current state, such as an edit conflict.
410Gone4xx
Deliberately removed and not coming back. Dropped from search indexes faster than 404.
411Length Required4xx
A Content-Length header is required.
412Precondition Failed4xx
A conditional header such as If-Match did not hold.
413Payload Too Large4xx
The request body exceeds what the server accepts.
414URI Too Long4xx
The URL is longer than the server will process.
415Unsupported Media Type4xx
The Content-Type of the body is not supported.
418I'm a teapot4xx
An April Fools' joke from RFC 2324, still implemented widely.
422Unprocessable Content4xx
Well-formed but semantically invalid - common for validation failures.
425Too Early4xx
The server will not risk replaying an early-data request.
426Upgrade Required4xx
The client must switch protocols, typically to TLS.
428Precondition Required4xx
The server requires a conditional request to avoid lost updates.
429Too Many Requests4xx
Rate limited. Read Retry-After before trying again.
431Request Header Fields Too Large4xx
The headers are too big, often an oversized cookie.
451Unavailable For Legal Reasons4xx
Blocked for legal reasons such as a takedown order.
500Internal Server Error5xx
An unhandled error in the application. Check the server logs.
501Not Implemented5xx
The server does not support the functionality required.
502Bad Gateway5xx
A gateway got an invalid response from upstream. The problem is behind the proxy.
503Service Unavailable5xx
Temporarily down or overloaded. Often accompanied by Retry-After.
504Gateway Timeout5xx
An upstream server did not answer in time.
505HTTP Version Not Supported5xx
The HTTP version used in the request is not supported.
507Insufficient Storage5xx
The server is out of space to complete the request.
511Network Authentication Required5xx
A captive portal wants you to log in first.

The five status code classes

Informational1xx
The request was received and the process is continuing. Rare in everyday work.
Success2xx
The request was received, understood and accepted.
Redirection3xx
Further action is needed to complete the request, usually following a Location header.
Client error4xx
The request was malformed, unauthorised or asked for something that is not there.
Server error5xx
The request looked valid but the server failed to fulfil it.
Most looked up
💡 What HTTP status codes tell you

Every HTTP response opens with a three-digit status code, and it is the fastest diagnostic signal the protocol gives you. The first digit tells you which side of the conversation went wrong, which is usually enough to know whether to inspect your request or go and look at the server.

Why the code matters

✓ Tells you which side to debug first
✓ Decides how search engines treat a URL
✓ Drives client retry and caching behaviour
✓ Makes monitoring and alerting meaningful

Where you meet them

• Browser devtools network tab
• API client and SDK errors
• Server, proxy and CDN access logs
• Crawl reports in Search Console

How to use this reference

  1. 1. Type a number. Enter 404, 50 or any prefix and the list narrows as you type.
  2. 2. Or search the meaning. Searching "not found", "redirect" or "gateway" matches names and descriptions too.
  3. 3. Filter by class. Use the 2xx to 5xx tabs to browse a whole class at once.
  4. 4. Read the context. Each entry shows the reason phrase, the class and what the code is actually for.

Codes worth knowing by heart

A handful of codes account for most of what you will see in logs and devtools.

200 OK
The request succeeded and the body holds the result. The baseline for everything else.
204 No Content
Success with deliberately no body, common for DELETE and for save endpoints.
301 Moved Permanently
The canonical move. Transfers ranking signals and is cached hard by browsers.
304 Not Modified
The cached copy is still good. A healthy sign, not an error.
401 Unauthorized
No valid credentials were supplied. The name is misleading: it means unauthenticated.
403 Forbidden
Credentials were understood but do not grant access to this resource.
404 Not Found
Nothing lives at this URL. Says nothing about whether it ever did.
429 Too Many Requests
Rate limited. Should always carry a Retry-After header.
500 Internal Server Error
The server threw and did not handle it. Always your bug to fix.
503 Service Unavailable
Overloaded or in maintenance, and the correct code to return deliberately.

Key features

  • All 44 status codes you are likely to encounter, from 100 to 511
  • Search by number prefix, reason phrase or description
  • Filter by 2xx, 3xx, 4xx and 5xx class
  • Clear explanation of what each code is for
  • Shortcuts to the five most looked-up codes
  • Runs entirely in your browser, nothing is sent to a server

Reading a status code correctly

The most common mistake is treating any non-200 as a failure. A 304 Not Modified means caching is working. A 301 is how a well-maintained site handles a move. A 429 means your rate limiting is doing its job. What matters is whether the code matches your intent.

The second most common mistake is returning the wrong code deliberately. Answering a missing resource with 200 and an error page hides the problem from crawlers and monitoring alike. Answering a rate limit with 403 leaves clients no way to back off. Returning 500 for a validation error sends your own team hunting a server bug that does not exist. Pick the code that describes what really happened and everything downstream gets easier.

Frequently asked questions

What do the five HTTP status code classes mean?⌄

The first digit sets the class. 1xx is informational, 2xx means the request succeeded, 3xx means the client must follow a redirect, 4xx means the client sent something wrong, and 5xx means the server failed to handle a request that looked valid. Reading that first digit tells you immediately whether to look at your own request or at the server.

What is the difference between a 301 and a 302?⌄

A 301 is permanent: search engines move ranking signals to the new URL and browsers cache the redirect aggressively, sometimes for a very long time. A 302 is temporary and leaves the original URL indexed. Use 301 for a genuine move and 302 for something short-lived, and be careful with 301 because it is hard to undo in a browser cache.

Should a deleted page return 404 or 410?⌄

Either is valid, but they say different things. A 404 means the resource is not here and may or may not come back; a 410 says it is gone deliberately and is not coming back. Search engines drop a 410 URL faster, so use it when you have intentionally removed content and want it de-indexed quickly.

What should an API return when a client is rate limited?⌄

A 429 Too Many Requests, together with a Retry-After header saying how many seconds to wait. Returning 403 or a generic 500 instead leaves clients with no way to behave correctly, so they retry immediately and make the problem worse. Our rate limit calculator works out a sensible Retry-After for you.

What is the difference between 502, 503 and 504?⌄

All three are server-side but point at different layers. A 502 Bad Gateway means a proxy got an invalid response from upstream. A 503 Service Unavailable means the server itself is overloaded or in maintenance and is usually the right code to return deliberately. A 504 Gateway Timeout means the proxy waited for upstream and gave up.

📖
In-depth guide
HTTP Status Codes: A Complete Guide to Every Response Code
Read the full guide →
📖
In-depth guide
301 vs 302 Redirects: Which to Use and What SEO Sees
Read the full guide →
📖
In-depth guide
404 vs 410: What Each One Tells Google About a Dead Page
Read the full guide →
Last updated: November 1, 2026
Share this page