Skip to content

HTTP Status Code Lookup

Enter a three-digit code or a keyword and get the name, what it means, and the first thing to check when you see it in a browser, a log or an API response.

Runs in your browserFree, no sign-upLast reviewed

Settings

Enter a number for one code, or a word to search. Leave blank to list every code.

Results update automatically as you type.

301 Moved Permanently

Class
3xx — Redirection
Meaning
The resource has permanently moved to the Location URL.
Cacheable by default
Yes
Common cause
A permanent URL change; browsers cache this aggressively.

Related codes

CodeNameMeaning
308Permanent RedirectLike 301, but the method and body must be preserved.

Quick answers

What does HTTP status code 404 mean?
404 Not Found means no resource matches the requested URL. The usual causes are a mistyped or outdated link, a deleted page, or a route that is not configured. It is a client error (4xx), so the server itself is working.
What is the difference between a 301 and a 302 redirect?
301 Moved Permanently says the resource has a new permanent URL; browsers cache it and search engines move the old URL's signals to the new one. 302 Found says the move is temporary, so the original URL stays the one to use and index.
What is the difference between 401 and 403?
401 Unauthorized means the request has no valid credentials, so logging in or sending a fresh token may fix it. 403 Forbidden means the server knows who is asking and still refuses, so repeating the request with the same credentials will not help.
What does a 502 Bad Gateway error mean?
A server acting as a proxy, such as nginx, a load balancer or a CDN, received an invalid response from the application server behind it. Most often the upstream application has crashed or is not listening on the expected port.
What do the first digits of HTTP status codes mean?
1xx is informational, 2xx means the request succeeded, 3xx means the client must look elsewhere or use its cache, 4xx means the request was wrong, and 5xx means the server failed to handle a valid request.
What is the difference between 503 and 504?
503 Service Unavailable means the server is up but temporarily cannot take the request, typically during maintenance or overload. 504 Gateway Timeout means a proxy waited for an upstream server and gave up because no response arrived in time.

What HTTP Status Code Lookup does

Every HTTP response starts with a three-digit status code, and the first digit sets the category: 1xx is informational, 2xx is success, 3xx is redirection, 4xx is a problem with the request and 5xx is a failure on the server. Type a number in the box to get that code's name, class, meaning, whether it is cacheable by default and its usual cause. Type a word instead, such as gateway or permanent, to list every code whose name or meaning contains it. The tool covers the 29 codes that appear in day-to-day web and API work, not the full registry, and all of them are in the chart below.

HTTP status codes list: all 29 codes in the lookup

Names and meanings are as the tool returns them. Clear the search box with All classes selected to produce the same list.

CodeNameMeaningCommon cause
100ContinueHeaders received; the client should send the request body.A client sent Expect: 100-continue before a large upload.
101Switching ProtocolsThe server is changing protocol, usually to WebSocket.A WebSocket handshake succeeded.
200OKThe request succeeded and the response carries the result.Normal successful request.
201CreatedThe request succeeded and created a new resource.A POST that created a record; the Location header points at it.
202AcceptedThe request was accepted but processing has not finished.Work was queued for a background job.
204No ContentSuccess, and there is deliberately no response body.A DELETE succeeded, or a PUT that returns nothing.
206Partial ContentOnly the requested byte range is being returned.Video seeking or a resumed download using a Range header.
301Moved PermanentlyThe resource has permanently moved to the Location URL.A permanent URL change; browsers cache this aggressively.
302FoundThe resource is temporarily at a different URL.A temporary redirect, often after a login.
303See OtherFetch the result from another URL using GET.Post/Redirect/Get, to stop a form resubmitting on refresh.
304Not ModifiedThe cached copy is still current, so no body is sent.A conditional request matched an ETag or Last-Modified value.
307Temporary RedirectLike 302, but the method and body must be preserved.A temporary redirect that must not turn a POST into a GET.
308Permanent RedirectLike 301, but the method and body must be preserved.A permanent move for an endpoint that receives POSTs.
400Bad RequestThe request is malformed and the server will not process it.Invalid JSON, a missing required field or a malformed header.
401UnauthorizedAuthentication is required or the credentials failed.A missing, expired or invalid token.
403ForbiddenThe server understood the request but refuses to authorise it.Authenticated but lacking permission, or blocked by file permissions.
404Not FoundNo resource matches this URL.A wrong URL, a deleted page or a broken route.
405Method Not AllowedThe URL exists but does not support this HTTP method.A POST to an endpoint that only accepts GET.
409ConflictThe request conflicts with the resource's current state.A duplicate record, or an edit against a stale version.
410GoneThe resource existed but has been permanently removed.Deliberate, permanent removal of a page.
413Payload Too LargeThe request body exceeds the server's limit.An upload above the configured maximum body size.
415Unsupported Media TypeThe body's Content-Type is not supported.Sending form data to an endpoint that only accepts JSON.
422Unprocessable ContentThe syntax is valid but the content fails validation.Well-formed JSON that breaks a business rule.
429Too Many RequestsThe client has been rate limited.Exceeding a rate limit; check the Retry-After header.
500Internal Server ErrorThe server hit an unexpected condition.An unhandled exception; the generic catch-all server fault.
501Not ImplementedThe server does not support the functionality required.An HTTP method the server does not recognise at all.
502Bad GatewayA proxy received an invalid response from an upstream server.The application behind nginx or a load balancer crashed or is not listening.
503Service UnavailableThe server is temporarily unable to handle the request.Maintenance mode or overload; Retry-After says when to come back.
504Gateway TimeoutA proxy timed out waiting for an upstream server.The upstream application took longer than the proxy's timeout.

413 is named Content Too Large in the current HTTP specification (RFC 9110); Payload Too Large is the earlier name and still the one most servers print. 422 was formerly Unprocessable Entity.

301 vs 302 vs 303 vs 307 vs 308: which redirect to use

The five redirect codes differ on two points: whether the move is permanent, and whether a POST is allowed to become a GET on the way.

CodePermanent?Request method after redirectUse it for
301 Moved PermanentlyYesClients may change POST to GETA page or site that has moved for good
302 FoundNoClients may change POST to GETA short-lived detour, such as sending a visitor to a login page
303 See OtherNoAlways GETShowing a result page after a form POST
307 Temporary RedirectNoMethod and body preservedA temporary move of an endpoint that receives POST or PUT
308 Permanent RedirectYesMethod and body preservedA permanent move of an API endpoint

What different searches return

Each result is what the lookup returns for the entry shown.

An exact code

301, All classes

301 Moved Permanently. Class: 3xx — Redirection. Cacheable by default: Yes. Common cause: a permanent URL change; browsers cache this aggressively. Related codes: 308 Permanent Redirect.

The first two digits

40

6 matching codes: 400, 401, 403, 404, 405 and 409.

A number matches every code that starts with those digits, so 5 lists all five 5xx codes.

A keyword

gateway

2 matching codes: 502 Bad Gateway and 504 Gateway Timeout.

A keyword that is narrower than it looks

redirect

2 matching codes: 307 Temporary Redirect and 308 Permanent Redirect.

301, 302 and 303 do not contain the word. To see all six 3xx codes, clear the box and set Limit to class to 3xx.

A word found in meanings, not names

permanent

3 matching codes: 301 Moved Permanently, 308 Permanent Redirect and 410 Gone.

A code outside the list

418

Nothing matched "418". Try a number such as 404, or a word such as "redirect".

Who has to fix it: 4xx client errors vs 5xx server errors

You seeWhose sideFirst thing to check
400 or 422The requestThe request body: JSON syntax for 400, field values and validation rules for 422
401The requestWhether a token or session is being sent, and whether it has expired
403The request, or server access rulesThe account's permissions, then file permissions and firewall or IP rules
404The request URLSpelling, trailing slashes and whether the route or file still exists
405 or 415The requestThe HTTP method for 405; the Content-Type header for 415
429The client's request rateThe Retry-After header, then back off and retry later
500The serverThe application's error log for an unhandled exception
502 or 504The server, behind a proxyWhether the upstream application is running, and how long it takes to answer
503The serverMaintenance mode, exhausted workers or connections, and Retry-After

Retrying an unchanged request rarely fixes a 4xx. A 502, 503 or 504 is often temporary and worth retrying after a pause.

What Cacheable by default means

A response is cacheable by default when a browser or CDN is allowed to store and reuse it even though the server sent no Cache-Control or Expires header. RFC 9110 gives that status to 200, 203, 204, 206, 300, 301, 308, 404, 405, 410, 414 and 501. Any other code is cached only when the response carries explicit freshness information.

The field in the tool is a quick guide for the codes it covers. It shows Yes for the codes in that list, and also for 304 and 403. A 304 is not stored on its own; it tells the cache that the copy it already holds is still good. 403 is not on the RFC list, so send a Cache-Control header if you want a 403 response reused. In practice, set Cache-Control explicitly on anything where caching matters, particularly 301 redirects, which browsers can keep for a very long time.

Using HTTP Status Code Lookup

  1. 1

    Type a number such as 404 in Status code or keyword to see the full entry for that code.

  2. 2

    Or type a word such as gateway, timeout or permanent to list every code whose name or meaning contains it.

  3. 3

    Use Limit to class to restrict results to 1xx, 2xx, 3xx, 4xx or 5xx. Clear the box and pick a class to list that whole class.

  4. 4

    Read Class, Meaning, Cacheable by default and Common cause in the detail panel for an exact match.

  5. 5

    Check the table underneath for other matches, for example 308 Permanent Redirect when you look up 301.

Answers to common questions

Is 404 or 410 better for a page that has been removed?
Use 410 Gone when the removal is deliberate and permanent, because it states that the resource will not return. 404 Not Found only says nothing was found at the URL and leaves open that it might come back. Both tell clients the page is unavailable.
Why did a keyword search return a code that looks unrelated?
Keywords are matched as plain text anywhere in the code's name or meaning, including inside longer words. Searching rate returns 429 Too Many Requests, whose meaning mentions rate limited, and also 204 No Content, because its meaning contains the word deliberately.
Which HTTP status codes are missing from this lookup?
It lists 29 widely used codes. Codes you may meet elsewhere that it does not include are 102, 103, 203, 205, 207, 208, 226, 300, 305, 402, 406, 407, 408, 411, 412, 414, 416, 417, 418, 421, 423 to 426, 428, 431, 451, 505 to 508, 510 and 511. Searching one of those returns a nothing matched message.
What status code should an API return for a validation error?
Use 400 Bad Request when the body cannot be parsed, such as broken JSON. Use 422 Unprocessable Content when the body parses but a value fails a rule, such as an end date before a start date. Reserve 500 for faults in your own code.
Can I list every code in one class?
Yes. Clear the Status code or keyword box and choose a class under Limit to class. The lookup holds 2 informational codes, 5 success codes, 6 redirection codes, 11 client error codes and 5 server error codes.
Why does the same search return nothing after I pick a class?
The class filter is applied together with the search text. Looking up 404 with Limit to class set to 5xx finds nothing, because 404 is a 4xx code. Set the filter back to All classes.
Does a 200 status always mean the request worked?
It means the server reports success at the HTTP level. Some APIs return 200 with an error message in the body, and a page that says not found while returning 200 is known as a soft 404. Check the body as well as the code when debugging.
Does this tool check the status code of a live URL?
No. It is a reference: it explains a code you already have. To find out which code a URL returns, look at the Network tab in your browser's developer tools or run curl -I followed by the URL.

Further reading

Looking for something else? Browse all developer tools or see every tool.