HTTP Status Code Reference
Complete HTTP status code reference — all 1xx, 2xx, 3xx, 4xx, and 5xx codes explained with meanings, use cases, and SEO impact.
Updated May 2026
Continue
The server has received the request headers and the client should proceed to send the request body.
Switching Protocols
The server agrees to switch protocols as requested by the client via the Upgrade header.
Processing
The server has received and is processing the request, but no response is available yet.
Early Hints
Used to return response headers before the final HTTP message, allowing the browser to start preloading resources.
OK
The request succeeded. The server returned the requested resource. Required for a page to be indexed by Google.
Created
The request succeeded and a new resource was created. Commonly used in REST APIs after a POST request.
Accepted
The request has been accepted for processing, but processing has not been completed yet.
Non-Authoritative Information
The request succeeded but the returned metadata is from a local or third-party copy, not the origin server.
No Content
The request succeeded but there is no content to return. Common for DELETE or PATCH API responses.
Reset Content
The server fulfilled the request and asks the client to reset the document view (e.g., clear a form).
Partial Content
The server is delivering only part of the resource due to a Range header. Used in streaming and resumable downloads.
Multi-Status
Conveys information about multiple resources in situations where multiple status codes might be appropriate. Used in WebDAV.
Already Reported
The members of a DAV binding have already been enumerated in a preceding part of the response.
IM Used
The server fulfilled a GET request and the response is a representation of the result of one or more instance-manipulations.
Multiple Choices
The request has more than one possible response. The user agent or user should choose one.
Moved Permanently
The resource has permanently moved to a new URL. Passes full link equity — use for all permanent redirects and HTTPS migrations.
Found
The resource has temporarily moved. Google passes signals through 302s but use 301 for permanent moves to avoid canonical confusion.
See Other
The server redirects the client to a different resource using a GET request. Often used after a POST to prevent form resubmission.
Not Modified
The resource has not changed since the last request. The browser should use its cached version. Reduces bandwidth on repeat visits.
Temporary Redirect
Like 302, but explicitly preserves the HTTP method. Use when method preservation is required for temporary redirects.
Permanent Redirect
Like 301, but preserves the HTTP method. Used in APIs that need to permanently redirect POST requests.
Bad Request
The server cannot process the request due to malformed syntax or invalid parameters. Common in APIs with missing or invalid fields.
Unauthorized
Authentication is required and has not been provided or is invalid. Means "Who are you?" — not to be confused with 403.
Payment Required
Reserved for future use. Originally intended for digital payment systems; now used by some APIs to signal quota limits.
Forbidden
The server understood the request but refuses to authorize it. The client is known but lacks permission. Distinct from 401.
Not Found
The server cannot find the requested resource. The most common error on the web. Redirect important 404 pages with a 301.
Method Not Allowed
The HTTP method used is not allowed for the requested resource. The response must include an Allow header listing valid methods.
Not Acceptable
The server cannot produce a response matching the list of acceptable values in the request's Accept headers.
Proxy Authentication Required
Authentication with the proxy server is required before the request can be fulfilled.
Request Timeout
The server timed out waiting for the request. The client may repeat the request without modifications.
Conflict
The request conflicts with the current state of the target resource. Common when trying to create a duplicate record.
Gone
The resource is permanently removed and will not return. Stronger removal signal than 404 — Google processes 410 faster for URL de-indexing.
Length Required
The server refuses to accept the request without a defined Content-Length header.
Precondition Failed
The server does not meet one or more preconditions set in the request headers.
Content Too Large
The request body is larger than the server is willing to process. The server may close the connection.
URI Too Long
The URI requested by the client is longer than the server is willing to interpret.
Unsupported Media Type
The media format of the requested data is not supported by the server. Check the Content-Type header.
Range Not Satisfiable
The server cannot serve the requested ranges. The Range header field value is outside the resource's actual size.
Expectation Failed
The server cannot meet the expectations indicated by the Expect request-header field.
I'm a Teapot
The server refuses to brew coffee because it is, permanently, a teapot. An April Fools' joke from RFC 2324 (1998), now a web easter egg.
Misdirected Request
The request was directed at a server that is not able to produce a response for the combination of scheme and authority.
Unprocessable Content
The request is syntactically valid but semantically incorrect. Common in REST APIs with strict field validation.
Locked
The resource being accessed is locked. Used in WebDAV to indicate the resource is locked.
Failed Dependency
The request failed because it depended on another request that failed. Used in WebDAV.
Too Early
The server is unwilling to risk processing a request that might be replayed, to prevent replay attacks.
Upgrade Required
The client should switch to a different protocol. The server sends an Upgrade header indicating the required protocol.
Precondition Required
The origin server requires the request to be conditional. Prevents the "lost update" problem in REST APIs.
Too Many Requests
The client has sent too many requests in a given time (rate limiting). If Googlebot receives 429s, crawl budget is reduced.
Request Header Fields Too Large
The server refuses to process the request because its header fields are too large.
Unavailable For Legal Reasons
The server cannot legally provide the requested resource. Named after Fahrenheit 451. Used for censorship or legal blocks.
Internal Server Error
A generic server-side failure. Persistent 500s cause Google to lower crawl frequency and may trigger de-indexing. Monitor in Search Console.
Not Implemented
The server does not support the functionality required to fulfill the request. The method is not recognized or implemented.
Bad Gateway
The server received an invalid response from an upstream server. Common with Nginx or Cloudflare when the app server crashes or is overloaded.
Service Unavailable
The server is temporarily unavailable — overloaded or under maintenance. Include a Retry-After header to prevent Google de-indexing.
Gateway Timeout
The gateway did not receive a timely response from the upstream server. Common when a database query or API call takes too long.
HTTP Version Not Supported
The server does not support the HTTP version used in the request.
Variant Also Negotiates
The server has an internal configuration error: the chosen variant resource is configured to engage in content negotiation itself.
Insufficient Storage
The server cannot store the representation needed to complete the request. Used in WebDAV.
Loop Detected
The server detected an infinite loop while processing the request. Used in WebDAV.
Not Extended
Further extensions to the request are required for the server to fulfill it.
Network Authentication Required
The client needs to authenticate to gain network access. Used by captive portals (hotel Wi-Fi, etc.) to intercept HTTP requests.
How to use the HTTP status codes list
Search by code, keyword, or class
1. Search for a code
Type the number (404, 502) or a keyword ("redirect", "unauthorized") to jump straight to it.
2. Or filter by class
Use the 1xx–5xx buttons to browse informational, success, redirect, client-error, or server-error codes.
3. Read the meaning and SEO impact
Every code includes a plain-English definition, a real-world use case, and a practical note for APIs and crawling.
What this HTTP status code reference does
A complete list with a practical, not academic, focus
Every class, 1xx through 5xx
The full set of official HTTP status codes, each explained with context for when it actually shows up.
SEO impact spelled out
How each code affects how Googlebot crawls and indexes a page — not just what the code technically means.
REST API notes
When to return 201 vs. 204, how 429 affects rate limiting, and other decisions API designers face daily.
Instant search
Find a code by number or keyword instead of scrolling through a giant table.
HTTP status code classes at a glance
When you'll reach for this HTTP status code list
The most common scenarios among people who use this tool
Debugging a 502 bad gateway
Understand that the server got an invalid response from an upstream service — common right after a broken deploy.
Choosing between a 301 and a 302 redirect
301 for permanent changes that consolidate ranking signals; 302 for A/B tests and temporary promotions.
Designing REST API responses
Pick the right status code — 201 for resource creation, 204 for a successful response with no body, 429 for rate limiting.
Investigating an indexing drop
Check whether a "soft 404" or a persistent 5xx error is causing pages to fall out of Google Search Console.
Common HTTP status code mistakes
Soft 404 — page returns 200 but is empty
Google treats it as a missing page anyway, wasting crawl budget. Return a real 404 or 410 instead.
Mixing up 401 and 403
401 means "who are you?" — authentication is missing. 403 means "I know who you are, but you can't come in."
Leaving a 302 in place long-term
It creates canonical ambiguity and stops Google from updating its index. Switch to 301 once the change is permanent.
Why use this HTTP status code reference
It's not just a list — every code comes with its meaning, a practical use case, and its specific SEO impact, useful whether you're a developer debugging an API or an SEO investigating a sudden indexing drop.
Keyword search and class filters make it faster to find the right code than scrolling through a giant reference table.
301 vs. 302 — which one to use
Permanent vs. temporary
Frequently asked questions
Both mean the page is unavailable. 404 says the resource wasn't found — it might come back later. 410 explicitly declares permanent removal. Google processes a 410 faster and removes the URL from its index sooner than it would for a 404.
References
Related Tools
- User Agent Generator Developer Free online User Agent Generator. Create custom UA strings for Chrome, Firefox, Safari, Edge, bots & mobile devices instantly. No signup required.
- User Agent Parser Developer Parse any user agent string instantly. Detect browser, operating system, device type, and rendering engine — free, online, no installation needed.
- ASCII Table Generator Developer Free ASCII table generator — create plain-text tables in MySQL, Markdown, Unicode and more styles. Paste CSV or type data, copy output in one click. No signup.
- Base64 Decoder Developer Free online Base64 decoder — decode Base64 strings back to plain text instantly in your browser. Validates input and shows decoded payload size.
- Base64 Encoder Developer Encode any text or string to Base64 instantly in your browser. Supports UTF-8, shows character count and output payload size. Free, no signup, 100% client-side.