A free hreflang checker that lists a page's language versions and checks that each one links back, as Google requires.
Type any page to see its language versions, checked against Google's rules, and whether each version links back.
Hreflang tags tell Google which pages are the same content in another language, or for another country, so each searcher gets the right version.
This free hreflang checker reads any page and lists every language version it points to, then checks each one live to see whether it points back.
It also checks the codes against Google's rules, looks for an x-default, and flags the mistakes that make Google ignore the tags.
I built it because most hreflang checkers only list the tags, and the mistake that breaks hreflang most often is a version that doesn't link back.
So here's how hreflang works, and how I'd fix the problems I see most.
Key takeaways
What is hreflang?
Hreflang is an attribute that tells Google a page has versions in other languages or for other regions.
You add it as a tag in the page's head, in an HTTP header, or in your sitemap, listing every version with its language code.
What is a hreflang checker?
A hreflang checker reads those tags and checks them against Google's rules.
This one goes a step further and visits every version it finds, to check the one rule that most sites break: that each version points back.
The rules Google sets
Google's guide to localized versions is clear, and these are the rules that matter most:
| Rule | What it means |
|---|---|
| Return links | If page A points to page B, page B has to point back to A, or Google ignores the tags |
| List yourself | Every version lists itself as well as all the other versions |
| Full addresses | Every address includes https:// and the domain, never a relative path |
| Valid codes | A language from ISO 639-1, optionally a region from ISO 3166-1, like en or en-gb |
| x-default | An optional fallback for everyone whose language you don't list |
Google also points out that it doesn't use hreflang to work out a page's language... it reads the content for that, so the tags only link versions together.
Why return links matter
Google ignores a hreflang tag that isn't returned, so nobody on another site can claim to be an alternative version of your page.
That's why checking only one page isn't enough, and why this checker visits every version, 20 at a time, and marks the ones that don't point back.
What the hreflang checker shows
- What it shows
- Each language and region the page lists, with its address
- What to do with it
- Check nothing is missing
- What it shows
- Whether each version points back, checked live
- What to do with it
- Fix every one marked missing
- What it shows
- Whether the page has a fallback
- What to do with it
- Add one if you serve many languages
- What it shows
- Codes Google won't accept, like en-uk
- What to do with it
- Use the right ISO code
- What it shows
- Two addresses for the same code
- What to do with it
- Keep one address per code
How to check your hreflang tags
A real example: apple.com
I ran apple.com through the checker, because it's one of the biggest hreflang setups on the web.
Its homepage lists 137 versions.
The checker fills in the return links 20 at a time as it visits each one, so you can watch the table fill up.
A setup that size only works because every version lists every other, which is exactly the rule most smaller sites get wrong.
The mistakes I see most
These are the mistakes I see most, and the checker flags the first three and the last one:
- A version that doesn't point back to the page that lists it
- Using en-uk for the United Kingdom, instead of en-gb
- Region codes Google doesn't support, like es-419 for Latin America
- Relative addresses instead of full ones
- Pointing hreflang at a page that redirects or is set to noindex
- Listing two different addresses for the same code
How I'd fix a broken setup
If keeping the tags in every page's head gets hard, Google also accepts them in your sitemap, and the sitemap generator can build one with every language version in it.
Who is the hreflang checker for?
It's for any site in more than one language or country:
- What is a global citizen – anyone building for readers who live across borders
- Sitemap generator – site owners who want their language versions in the sitemap
- Redirect checker – anyone checking that each version loads without a redirect
- SEO checker – site owners who want every check on each version
And if you've just added a new language, check both the new pages and the old ones, because the old ones need to point to the new versions too.
After you check your hreflang
| Tool | Use it when |
|---|---|
| Sitemap generator | You want hreflang in your sitemap instead of every page's head |
| Redirect checker | A version redirects instead of loading |
| Internal link checker | You want to see how your language versions link to each other |
| SEO checker | You want each version checked in full |
Check the rest of the page
Hreflang Checker FAQs
Questions about hreflang? Here's what to know.
It's a tool that reads a page's hreflang tags and checks them against Google's rules.
This one also checks that every version points back.
It's an attribute that tells Google a page has versions in other languages or for other regions.
Google then shows each searcher the right version.
If page A lists page B as a version, page B has to list page A too.
If they don't both point to each other, Google ignores the tags.
Yes, every version lists itself as well as all the other versions.
It's one of Google's rules.
It's an optional hreflang value for a fallback page.
Google shows it to visitors whose language you don't list.
No, the UK's region code is gb, so it's en-gb.
Google doesn't support a code that isn't in the ISO lists.
No, Google doesn't support region codes outside ISO 3166-1.
Use a country code, or just es.
No, Google reads the content to work out the language.
Hreflang only links the versions together.
In the page's head, in an HTTP header, or in your sitemap.
Pick one method and keep it complete.
It lists up to 300 and checks their return links 20 at a time.
Press the button under the table for the next 20.
Yes, it's free, with no sign-up.
I did. I'm Navid Moazzez, and I made the hreflang checker as one of my free tools on navid.me.
You can read more about me.
Navid.me is reader-supported. When you buy through links on this site, I may earn an affiliate commission. Learn more.
More free tools
Related MCP servers & CLIs
Free AI newsletterThe most actionable AI newsletter for founders
Every week, get proven AI strategies, curated tools, and step-by-step systems to grow your audience, create better content, and build a profitable creator business.
No fluff, no filler, no BS. Just five minutes each week that might level up your online business and life.
P.S. Sign up now to get free access to my ultimate AI tools guide for creators.






