My Tool Studio
Developer

HTTP Status Codes List

This list of HTTP status codes covers 83 codes: every standard code from 1xx to 5xx, including the WebDAV additions, plus unofficial ones from nginx, Cloudflare, IIS, AWS load balancers and proxies. Each has its name, a plain-English meaning and, for the codes site owners ask about most, a note on how search engines and caches treat it. Search by number, name or keyword, or use the filters for Common codes, one class, Unofficial codes or codes with SEO notes. Names follow RFC 9110, such as 413 Content Too Large. Every code has its own link, like #code-429, for sharing. It is a reference only; to test a live URL, use the HTTP Status Code Checker linked above the table.

Always freeNo sign upRuns in your browser
Check a live URL's status code
83 / 83
CodeNameClassMeaningSEO and cachingSource
100Continue1xx InformationalThe server got the request headers, so the client can go ahead and send the body.Standard
101Switching Protocols1xx InformationalThe server agrees to switch protocols, for example to WebSocket.Standard
102Processing1xx InformationalWebDAV. The server accepted the request and is still working on it. Now deprecated.Standard
103Early Hints1xx InformationalSends Link headers early so the browser can preload resources before the final response.Standard
200OK2xx SuccessThe request succeeded.Indexable. Make sure a missing page does not return 200 (a soft 404).Standard
201Created2xx SuccessThe request succeeded and created a new resource, usually named in the Location header.Standard
202Accepted2xx SuccessThe request was accepted for processing, but the work is not finished yet.Standard
203Non-Authoritative Information2xx SuccessSuccess, but a transforming proxy changed the response.Standard
204No Content2xx SuccessSuccess, with no body to return.Nothing to index; fine for API and beacon endpoints.Standard
205Reset Content2xx SuccessSuccess. The client should reset the document view, such as clearing a form.Standard
206Partial Content2xx SuccessThe server is sending only part of the resource, in reply to a Range request.Standard
207Multi-Status2xx SuccessWebDAV. The body holds separate status codes for several resources.Standard
208Already Reported2xx SuccessWebDAV. These members were already listed earlier in the same response.Standard
226IM Used2xx SuccessThe server applied instance manipulations, such as delta encoding, to the response.Standard
300Multiple Choices3xx RedirectionSeveral representations are available and the client can choose one.Standard
301Moved Permanently3xx RedirectionThe resource has a new permanent URL. Clients may switch POST to GET when following it.Permanent. Google passes ranking signals to the target and swaps the indexed URL.Standard
302Found3xx RedirectionThe resource is temporarily at another URL. Clients may switch POST to GET.Temporary. Google keeps the old URL indexed at first; long-lived 302s are treated like 301s.Standard
303See Other3xx RedirectionFetch the result from another URL with GET. Common after a form POST.Temporary; treated like 302 by search engines.Standard
304Not Modified3xx RedirectionThe cached copy is still valid, so no body is sent.Saves crawl budget: the crawler reuses its stored copy.Standard
305Use Proxy3xx RedirectionDeprecated. Browsers ignore it for security reasons.Standard
307Temporary Redirect3xx RedirectionTemporary move. The method and body must stay the same.Temporary, method kept. HSTS upgrades in browsers also show as 307.Standard
308Permanent Redirect3xx RedirectionPermanent move. The method and body must stay the same.Permanent, method kept. Google treats it like 301.Standard
400Bad Request4xx Client ErrorThe server cannot process the request because it is malformed.Not indexed. Check for broken links that build bad URLs.Standard
401Unauthorized4xx Client ErrorAuthentication is missing or failed. The response should include a WWW-Authenticate header.Not indexed. Crawlers cannot log in.Standard
402Payment Required4xx Client ErrorReserved for future use. Some APIs use it for billing problems.Standard
403Forbidden4xx Client ErrorThe server understood the request but refuses to allow it.Not indexed. Blocking Googlebot by mistake removes pages from search.Standard
404Not Found4xx Client ErrorNothing exists at this URL, or the server will not say whether it does.The URL drops out of the index over time. Fine for pages that never existed.Standard
405Method Not Allowed4xx Client ErrorThe method is not supported here. The Allow header lists the ones that are.Standard
406Not Acceptable4xx Client ErrorNo version of the resource matches the request's Accept headers.Standard
407Proxy Authentication Required4xx Client ErrorLike 401, but the client must authenticate with a proxy.Standard
408Request Timeout4xx Client ErrorThe server gave up waiting for the client to finish sending the request.Standard
409Conflict4xx Client ErrorThe request conflicts with the current state of the resource, such as an edit conflict.Standard
410Gone4xx Client ErrorThe resource was removed on purpose and will not come back.Removed on purpose. Google may drop the URL a little faster than with 404.Standard
411Length Required4xx Client ErrorThe server requires a Content-Length header.Standard
412Precondition Failed4xx Client ErrorA condition in a header such as If-Match was false.Standard
413Content Too Large4xx Client ErrorThe request body is larger than the server allows. Formerly called Payload Too Large.Standard
414URI Too Long4xx Client ErrorThe URL is longer than the server is willing to handle.Standard
415Unsupported Media Type4xx Client ErrorThe server does not accept the body's Content-Type.Standard
416Range Not Satisfiable4xx Client ErrorThe requested Range is outside the size of the resource.Standard
417Expectation Failed4xx Client ErrorThe server cannot meet the Expect request header.Standard
418I'm a Teapot4xx Client ErrorAn April Fools' joke from RFC 2324. RFC 9110 reserves the number. Some sites use it to turn away bots.Joke
421Misdirected Request4xx Client ErrorThe request reached a server that cannot answer for this host name.Standard
422Unprocessable Content4xx Client ErrorThe syntax is fine, but the content fails validation. Formerly Unprocessable Entity.Standard
423Locked4xx Client ErrorWebDAV. The resource is locked.Standard
424Failed Dependency4xx Client ErrorWebDAV. The request failed because a request it depended on failed.Standard
425Too Early4xx Client ErrorThe server will not process a request that might be replayed (TLS early data).Standard
426Upgrade Required4xx Client ErrorThe client must switch to the protocol named in the Upgrade header.Standard
428Precondition Required4xx Client ErrorThe server requires a conditional request, such as If-Match, to prevent lost updates.Standard
429Too Many Requests4xx Client ErrorRate limited: too many requests in a given time. May include a Retry-After header.Crawlers slow down. Long runs of 429 can reduce crawling and indexing.Standard
431Request Header Fields Too Large4xx Client ErrorOne header, or all headers together, are too large.Standard
440Login Time-out4xx Client ErrorMicrosoft IIS. The client's session expired and it must sign in again.IIS
444No Response4xx Client Errornginx closes the connection without sending anything. It appears in logs, not in the browser.nginx
449Retry With4xx Client ErrorMicrosoft IIS. The server needs more information before it can process the request.IIS
451Unavailable For Legal Reasons4xx Client ErrorAccess is blocked for legal reasons, such as a court order.Not indexed in the affected region.Standard
460Client Closed Connection4xx Client ErrorAWS Elastic Load Balancer. The client closed the connection before the idle timeout ended.AWS ELB
463Too Many Forwarded IPs4xx Client ErrorAWS Elastic Load Balancer. The X-Forwarded-For header lists more than 30 IP addresses.AWS ELB
494Request Header Too Large4xx Client Errornginx. The request headers are larger than the large_client_header_buffers setting.nginx
495SSL Certificate Error4xx Client Errornginx. The client sent an invalid client certificate.nginx
496SSL Certificate Required4xx Client Errornginx. A client certificate was required but not sent.nginx
497HTTP Request Sent to HTTPS Port4xx Client Errornginx. A plain HTTP request reached a port that expects HTTPS.nginx
499Client Closed Request4xx Client Errornginx logs this when the client closed the connection before the response was ready.nginx
500Internal Server Error5xx Server ErrorA generic error: something failed on the server.Crawlers retry. If errors persist, pages can drop out of the index.Standard
501Not Implemented5xx Server ErrorThe server does not support the feature needed, such as an unknown method.Standard
502Bad Gateway5xx Server ErrorA gateway or proxy got an invalid response from the upstream server.Treated like 500. Check the upstream server or CDN origin.Standard
503Service Unavailable5xx Server ErrorThe server is overloaded or down for maintenance. May include a Retry-After header.The right code for planned maintenance. Add Retry-After and keep it short (hours, not days).Standard
504Gateway Timeout5xx Server ErrorA gateway or proxy did not get a response from the upstream server in time.Treated like 500. Slow origins also cut crawl rate.Standard
505HTTP Version Not Supported5xx Server ErrorThe server does not support the HTTP version in the request.Standard
506Variant Also Negotiates5xx Server ErrorA server configuration error in content negotiation.Standard
507Insufficient Storage5xx Server ErrorWebDAV. The server cannot store what it needs to complete the request.Standard
508Loop Detected5xx Server ErrorWebDAV. The server found an infinite loop while processing the request.Standard
509Bandwidth Limit Exceeded5xx Server ErrorUsed by Apache and cPanel hosting when a site uses up its bandwidth allowance.Apache / cPanel
510Not Extended5xx Server ErrorThe request needs further extensions. Defined in RFC 2774, now historic.Standard
511Network Authentication Required5xx Server ErrorThe client must sign in to the network first, as on hotel or airport Wi-Fi.Standard
520Web Server Returned an Unknown Error5xx Server ErrorCloudflare got an empty, unknown or unexpected response from the origin server.Crawlers see a 5xx error. Fix the origin, not Cloudflare.Cloudflare
521Web Server Is Down5xx Server ErrorThe origin server refused the connection from Cloudflare.Cloudflare
522Connection Timed Out5xx Server ErrorCloudflare could not complete a TCP connection to the origin server.Crawlers see a 5xx error. The origin is overloaded or firewalled.Cloudflare
523Origin Is Unreachable5xx Server ErrorCloudflare could not reach the origin server, for example because of DNS or routing problems.Cloudflare
524A Timeout Occurred5xx Server ErrorCloudflare connected to the origin, but the origin did not send a response in time.Crawlers see a 5xx error. The origin took more than 100 seconds.Cloudflare
525SSL Handshake Failed5xx Server ErrorThe TLS handshake between Cloudflare and the origin server failed.Cloudflare
526Invalid SSL Certificate5xx Server ErrorCloudflare could not validate the origin server's certificate.Cloudflare
530Origin DNS Error5xx Server ErrorCloudflare shows 530 together with a 1xxx error, often because the origin's DNS cannot be resolved.Cloudflare
598Network Read Timeout Error5xx Server ErrorUsed by some HTTP proxies when reading from the upstream server times out.Proxies
599Network Connect Timeout Error5xx Server ErrorUsed by some HTTP proxies when connecting to the upstream server times out.Proxies

How to use

01

Search or filter the codes

Type a code, name or word such as redirect or rate into the search box, or press Common, 1xx to 5xx, Unofficial or SEO notes to narrow the table.

02

Read the meaning and SEO note

Each row shows the code, its name, class, meaning, an SEO and caching note where one applies, and a Source column for non-standard codes from nginx, Cloudflare, IIS or AWS.

03

Copy, link or check a live URL

Press Copy next to a code, or click the code to get a link to that row. To see which code a real page returns, follow the HTTP Status Code Checker link above the table.

Why HTTP Status Codes List

How status codes affect SEO

Search engine crawlers read the status code before they read the page, and it decides what happens next. The notes below follow Google's documentation on how HTTP status codes affect its crawlers.

Use the right code for what really happened. A missing page that returns 200 with an error message, known as a soft 404, wastes crawl time and can be reported in Search Console. The SEO and caching column in the table repeats these notes next to each code, and the SEO notes filter shows only those rows.

CodeWhat crawlers do
200 OKThe page can be considered for indexing.
301, 308Strong signal that the target URL should be indexed instead.
302, 307Weak signal; the original URL usually stays indexed.
304 Not ModifiedTells the crawler the content has not changed since its last visit.
404, 410The URL is dropped from the index over time. This does not harm the rest of the site.
429, 500, 503Crawling slows down. If the errors persist, URLs may be dropped.

Unofficial codes you will meet in logs

Some servers and services use numbers the standard does not define. They never come from your application code, so knowing the source saves time when you debug.

CodesSourceMeaning in short
444, 494 to 497, 499nginxConnection closed, header too large, TLS problems, client gave up
520 to 526, 530CloudflareProblems between Cloudflare and your origin server
440, 449Microsoft IISSession expired, retry with more information
460, 463AWS Elastic Load BalancerClient closed early, too many forwarded IPs
509Apache and cPanel hostingBandwidth allowance used up
598, 599Some HTTP proxiesUpstream read or connect timeout

Common questions

What is the difference between 301 and 302 redirects?
A 301 says the move is permanent and a 302 says it is temporary. Google treats a 301 as a strong signal that the new URL should be indexed, and a 302 as a weak one, so the old URL usually stays in results. Both allow clients to switch POST to GET; use 308 or 307 if the method must stay the same.
Is 404 or 410 better for removed pages?
Both tell search engines the page is gone, and Google handles them in much the same way. A 410 Gone states that the removal is deliberate and permanent, so use it when you know the page will not come back. Either one is better than redirecting every removed page to the home page.
What does a 503 error mean for SEO?
A 503 tells crawlers the site is temporarily unavailable, so they slow down and try again later instead of dropping pages. It is the right code for planned maintenance, ideally with a Retry-After header. If 503s continue for a long time, search engines may start removing URLs from the index.
What is a 429 Too Many Requests error?
It means a server is rate limiting you because too many requests arrived in a given time. Wait before retrying, respect the Retry-After header if there is one, and back off further after each failure. Googlebot also slows its crawling when a site returns 429.
What does a 499 status code mean?
499 Client Closed Request is an nginx code, not an official one. nginx logs it when the client closed the connection before the server finished responding, often because the upstream was slow or the client timed out. The client never receives it.
What is the difference between a 401 and a 403 response?
401 Unauthorized means the server does not know who you are yet, because credentials are missing or wrong. 403 Forbidden means it knows who you are and still refuses. In short, 401 says log in, and 403 says logging in will not help.
What do Cloudflare 520 to 526 errors mean?
They describe problems between Cloudflare and your origin server, such as the origin refusing connections (521), timing out (522, 524) or presenting a bad certificate (526). The fix is almost always on the origin server or its firewall, not in the browser.
Why is 418 I'm a Teapot in the HTTP status codes list?
It started as an April Fools' joke in RFC 2324 about coffee pots. It is not a real status code, but it became well known, so RFC 9110 reserves the number to keep it from being reused. A few sites return it to turn away bots.
Can this page check the HTTP status code of my website?
No, it is a reference list and does not make requests. Use the HTTP Status Code Checker, linked above the table, to see the code, headers and timing for a live URL.
How do I link to one status code in this list?
Click the code number in the first column. The address bar then ends in #code- and the number, such as #code-503, and opening that link scrolls straight to the row.

More Developer tools

View all