ISO 639-1 language codes
Also known as: ISO 639-1, language code standard
ISO 639-1 is the international standard that defines two-letter codes for languages (en for English, fr for French, ja for Japanese, etc.). It's the standard SEO uses to declare language in hreflang attributes, the HTML lang attribute, and locale-specific URLs. Combined with the two-letter region codes from ISO 3166-1 (US, GB, DE, etc.), it produces the locale codes like en-US, en-GB, fr-FR used in hreflang.
How ISO 639-1 shows up in SEO
Three places it matters:
- HTML lang attribute:
<html lang="en">declares the page’s primary language - hreflang attributes:
<link rel="alternate" hreflang="fr-FR">combines ISO 639-1 (fr) + ISO 3166-1 (FR) - OpenGraph locale:
<meta property="og:locale" content="en_US">(note: og uses underscore, not hyphen)
Common ISO 639-1 codes
| Code | Language |
|---|---|
| en | English |
| fr | French |
| es | Spanish |
| de | German |
| it | Italian |
| pt | Portuguese |
| ru | Russian |
| ja | Japanese |
| ko | Korean |
| zh | Chinese |
| ar | Arabic |
| el | Greek |
| nl | Dutch |
| pl | Polish |
| tr | Turkish |
| hi | Hindi |
ISO 639-1 + ISO 3166-1 = locale code
The combination produces locale codes:
en-US= English (en) + United States (US)en-GB= English + United Kingdompt-BR= Portuguese + Brazil (distinct frompt-PTPortugal)zh-CN= Chinese + China (Simplified)zh-TW= Chinese + Taiwan (Traditional)
The hyphen-separated format is for hreflang; underscores for OpenGraph. Be consistent within each format.
Common pitfalls
- Wrong code for variants — “ch” is not Swiss (that’s de-CH / fr-CH / it-CH); “uk” is not English-UK (that’s en-GB); “cn” is not Chinese (that’s zh-CN)
- Mixing two-letter ISO 639-1 with three-letter ISO 639-2/3 — stick to two-letter for SEO purposes
- Region without language —
hreflang="US"is invalid; must behreflang="en-US"
Quick reference for common SEO locales
- US English:
en-US - UK English:
en-GB(NOTen-UK) - French (France):
fr-FR - French (Canada):
fr-CA - Portuguese (Brazil):
pt-BR - Portuguese (Portugal):
pt-PT - Spanish (Spain):
es-ES - Spanish (Mexico):
es-MX - Spanish (Argentina):
es-AR - German (Germany):
de-DE - German (Switzerland):
de-CH - Italian (Italy):
it-IT - Chinese (Simplified, mainland China):
zh-CN - Chinese (Traditional, Taiwan):
zh-TW
Resocial perspective
Mei-Lin (international-seo-agent) runs strict ISO 639-1 + ISO 3166-1 consistency checks on every international engagement. The most common error: clients using non-standard codes (“UK” instead of “GB”, or just “en” without region) — both confuse Google’s geo-targeting and lead to inconsistent hreflang clusters.
- Resocial service →
/services/international-seo/ - Read on the blog →
/blog/hreflang-vs-canonical/