Bulk up to 100 • HTML + header hreflang

Hreflang Tag Checker

Paste URLs — we’ll extract rel="alternate" hreflang links from HTML and HTTP headers, then flag missing, duplicates, invalid language codes, and obvious implementation issues.

Paste up to 100 URLs (one per line)
Tip: hreflang works best with a consistent set across all language versions, including x-default.

Results

URL Hreflang set HTTP Time Issues
Run a check to see results here.
This tool does a basic audit. Full hreflang validation can require crawling all alternates and confirming reciprocity across the set.

Quick interpretation

Healthy hreflang sets look consistent and complete.

  • OK hreflang found, includes self + x-default, no obvious issues
  • Warning missing x-default/self, duplicates, invalid codes, non-200 targets
  • Error HTTP/fetch errors or redirect loops
International SEO

Hreflang Tag Checker: avoid wrong-country rankings

Hreflang tells search engines which page variant should be shown to users by language or region. If tags are missing or inconsistent, Google can pick the wrong version, or ignore the set entirely.

What this checker flags

  • Missing hreflang: no alternate links found in HTML or headers.
  • Invalid codes: malformed language-region formats.
  • Duplicates: same hreflang used multiple times.
  • Missing x-default: recommended fallback for unspecified users.
  • Missing self-reference: the current URL should usually appear in its own set.

FAQ

What is hreflang and when do I need it?

Hreflang tells search engines which language/region version of a page should be shown. You need it when you have the same (or very similar) content in multiple languages or countries (example: /en/, /fr/, /en-us/).

Do I have to include x-default?

It’s not mandatory, but strongly recommended as a “fallback” for users that don’t match any specific language/region. Missing x-default is a common reason hreflang sets look incomplete.

What does “missing self hreflang” mean?

It means the current URL is not included in its own hreflang set. Usually each page should reference itself with its own hreflang value, otherwise the set can be inconsistent.

Why do I see “duplicate hreflang”?

The same hreflang value (like en or en-us) appears more than once. That’s ambiguous: search engines may ignore the duplicates or pick one arbitrarily.

What counts as an “invalid hreflang” code?

Typical valid formats are en, en-us, pt-br, zh-hans, and x-default. Typos, underscores, spaces, or random strings can break validation.

Can hreflang be implemented in HTTP headers?

Yes. Hreflang can be provided via the HTTP Link header (not only HTML). This tool checks both sources: HTML tags and HTTP headers.

Why does the tool only sample hreflang targets for HTTP status?

Because full validation can explode in cost (100 URLs × many alternates). This checker samples a few targets to catch obvious 4xx/5xx problems fast. For a full audit, you’d crawl and verify every alternate + reciprocity across the entire set.

What does “cross-domain hreflang” mean?

Some hreflang URLs point to a different host (example: brand.com ↔ brand.fr). That can be totally valid, but it’s easy to break (wrong canonicals, missing reciprocity, blocked crawls), so the tool flags it as an info/warning signal.