Write the region after the language, separated by a hyphen: de-CH is German for Switzerland, fr-CH French for Switzerland. Upper case is the convention, though Google accepts either. The table lists 249 assigned codes, generated from Unicode CLDR data, with the most widely used language in each place as a starting example. Countries with several major languages (Belgium, Switzerland, Canada, India) need one entry per language you actually publish.
249 shown
| Code | Country or territory | Main language | Example hreflang |
|---|---|---|---|
| AF | Afghanistan | Persian (fa) | fa-AF |
| AX | Åland Islands | Swedish (sv) | sv-AX |
| AL | Albania | Albanian (sq) | sq-AL |
| DZ | Algeria | Arabic (ar) | ar-DZ |
| AS | American Samoa | Samoan (sm) | sm-AS |
| AD | Andorra | Catalan (ca) | ca-AD |
| AO | Angola | Portuguese (pt) | pt-AO |
| AI | Anguilla | English (en) | en-AI |
| AQ | Antarctica | English (en) | en-AQ |
| AG | Antigua & Barbuda | English (en) | en-AG |
| AR | Argentina | Spanish (es) | es-AR |
| AM | Armenia | Armenian (hy) | hy-AM |
| AW | Aruba | Dutch (nl) | nl-AW |
| AU | Australia | English (en) | en-AU |
| AT | Austria | German (de) | de-AT |
| AZ | Azerbaijan | Azerbaijani (az) | az-AZ |
| BS | Bahamas | English (en) | en-BS |
| BH | Bahrain | Arabic (ar) | ar-BH |
| BD | Bangladesh | Bangla (bn) | bn-BD |
| BB | Barbados | English (en) | en-BB |
| BY | Belarus | Russian (ru) | ru-BY |
| BE | Belgium | Dutch (nl) | nl-BE |
| BZ | Belize | English (en) | en-BZ |
| BJ | Benin | French (fr) | fr-BJ |
| BM | Bermuda | English (en) | en-BM |
| BT | Bhutan | Dzongkha (dz) | dz-BT |
| BO | Bolivia | Spanish (es) | es-BO |
| BA | Bosnia & Herzegovina | Bosnian (bs) | bs-BA |
| BW | Botswana | English (en) | en-BW |
| BV | Bouvet Island | Norwegian (no) | no-BV |
| BR | Brazil | Portuguese (pt) | pt-BR |
| IO | British Indian Ocean Territory | English (en) | en-IO |
| VG | British Virgin Islands | English (en) | en-VG |
| BN | Brunei | Malay (ms) | ms-BN |
| BG | Bulgaria | Bulgarian (bg) | bg-BG |
| BF | Burkina Faso | French (fr) | fr-BF |
| BI | Burundi | Rundi (rn) | rn-BI |
| KH | Cambodia | Khmer (km) | km-KH |
| CM | Cameroon | French (fr) | fr-CM |
| CA | Canada | English (en) | en-CA |
| CV | Cape Verde | Portuguese (pt) | pt-CV |
| BQ | Caribbean Netherlands | — | en-BQ |
| KY | Cayman Islands | English (en) | en-KY |
| CF | Central African Republic | Sango (sg) | sg-CF |
| TD | Chad | Arabic (ar) | ar-TD |
| CL | Chile | Spanish (es) | es-CL |
| CN | China | Chinese (zh) | zh-CN |
| CX | Christmas Island | English (en) | en-CX |
| CC | Cocos (Keeling) Islands | Malay (ms) | ms-CC |
| CO | Colombia | Spanish (es) | es-CO |
| KM | Comoros | Arabic (ar) | ar-KM |
| CG | Congo - Brazzaville | French (fr) | fr-CG |
| CD | Congo - Kinshasa | French (fr) | fr-CD |
| CK | Cook Islands | English (en) | en-CK |
| CR | Costa Rica | Spanish (es) | es-CR |
| CI | Côte d’Ivoire | French (fr) | fr-CI |
| HR | Croatia | Croatian (hr) | hr-HR |
| CU | Cuba | Spanish (es) | es-CU |
| CW | Curaçao | — | en-CW |
| CY | Cyprus | Greek (el) | el-CY |
| CZ | Czechia | Czech (cs) | cs-CZ |
| DK | Denmark | Danish (da) | da-DK |
| DJ | Djibouti | French (fr) | fr-DJ |
| DM | Dominica | English (en) | en-DM |
| DO | Dominican Republic | Spanish (es) | es-DO |
| EC | Ecuador | Spanish (es) | es-EC |
| EG | Egypt | Arabic (ar) | ar-EG |
| SV | El Salvador | Spanish (es) | es-SV |
| GQ | Equatorial Guinea | Spanish (es) | es-GQ |
| ER | Eritrea | Tigrinya (ti) | ti-ER |
| EE | Estonia | Estonian (et) | et-EE |
| SZ | Eswatini | English (en) | en-SZ |
| ET | Ethiopia | Amharic (am) | am-ET |
| FK | Falkland Islands | English (en) | en-FK |
| FO | Faroe Islands | Faroese (fo) | fo-FO |
| FJ | Fiji | English (en) | en-FJ |
| FI | Finland | Finnish (fi) | fi-FI |
| FR | France | French (fr) | fr-FR |
| GF | French Guiana | French (fr) | fr-GF |
| PF | French Polynesia | French (fr) | fr-PF |
| TF | French Southern Territories | French (fr) | fr-TF |
| GA | Gabon | French (fr) | fr-GA |
| GM | Gambia | English (en) | en-GM |
| GE | Georgia | Georgian (ka) | ka-GE |
| DE | Germany | German (de) | de-DE |
| GH | Ghana | Akan (ak) | ak-GH |
| GI | Gibraltar | English (en) | en-GI |
| GR | Greece | Greek (el) | el-GR |
| GL | Greenland | Kalaallisut (kl) | kl-GL |
| GD | Grenada | English (en) | en-GD |
| GP | Guadeloupe | French (fr) | fr-GP |
| GU | Guam | English (en) | en-GU |
| GT | Guatemala | Spanish (es) | es-GT |
| GG | Guernsey | English (en) | en-GG |
| GN | Guinea | French (fr) | fr-GN |
| GW | Guinea-Bissau | Portuguese (pt) | pt-GW |
| GY | Guyana | English (en) | en-GY |
| HT | Haiti | Haitian Creole (ht) | ht-HT |
| HM | Heard & McDonald Islands | English (en) | en-HM |
| HN | Honduras | Spanish (es) | es-HN |
| HK | Hong Kong SAR China | Chinese (zh) | zh-HK |
| HU | Hungary | Hungarian (hu) | hu-HU |
| IS | Iceland | Icelandic (is) | is-IS |
| IN | India | Hindi (hi) | hi-IN |
| ID | Indonesia | Indonesian (id) | id-ID |
| IR | Iran | Persian (fa) | fa-IR |
| IQ | Iraq | Arabic (ar) | ar-IQ |
| IE | Ireland | English (en) | en-IE |
| IM | Isle of Man | English (en) | en-IM |
| IL | Israel | Hebrew (he) | he-IL |
| IT | Italy | Italian (it) | it-IT |
| JM | Jamaica | English (en) | en-JM |
| JP | Japan | Japanese (ja) | ja-JP |
| JE | Jersey | English (en) | en-JE |
| JO | Jordan | Arabic (ar) | ar-JO |
| KZ | Kazakhstan | Russian (ru) | ru-KZ |
| KE | Kenya | Swahili (sw) | sw-KE |
| KI | Kiribati | English (en) | en-KI |
| KW | Kuwait | Arabic (ar) | ar-KW |
| KG | Kyrgyzstan | Kyrgyz (ky) | ky-KG |
| LA | Laos | Lao (lo) | lo-LA |
| LV | Latvia | Latvian (lv) | lv-LV |
| LB | Lebanon | Arabic (ar) | ar-LB |
| LS | Lesotho | Southern Sotho (st) | st-LS |
| LR | Liberia | English (en) | en-LR |
| LY | Libya | Arabic (ar) | ar-LY |
| LI | Liechtenstein | German (de) | de-LI |
| LT | Lithuania | Lithuanian (lt) | lt-LT |
| LU | Luxembourg | French (fr) | fr-LU |
| MO | Macao SAR China | Chinese (zh) | zh-MO |
| MG | Madagascar | Malagasy (mg) | mg-MG |
| MW | Malawi | English (en) | en-MW |
| MY | Malaysia | Malay (ms) | ms-MY |
| MV | Maldives | Divehi (dv) | dv-MV |
| ML | Mali | Bambara (bm) | bm-ML |
| MT | Malta | Maltese (mt) | mt-MT |
| MH | Marshall Islands | English (en) | en-MH |
| MQ | Martinique | French (fr) | fr-MQ |
| MR | Mauritania | Arabic (ar) | ar-MR |
| MU | Mauritius | French (fr) | fr-MU |
| YT | Mayotte | French (fr) | fr-YT |
| MX | Mexico | Spanish (es) | es-MX |
| FM | Micronesia | English (en) | en-FM |
| MD | Moldova | Romanian (ro) | ro-MD |
| MC | Monaco | French (fr) | fr-MC |
| MN | Mongolia | Mongolian (mn) | mn-MN |
| ME | Montenegro | Serbian (sr) | sr-ME |
| MS | Montserrat | English (en) | en-MS |
| MA | Morocco | Arabic (ar) | ar-MA |
| MZ | Mozambique | Portuguese (pt) | pt-MZ |
| MM | Myanmar (Burma) | Burmese (my) | my-MM |
| NA | Namibia | Afrikaans (af) | af-NA |
| NR | Nauru | English (en) | en-NR |
| NP | Nepal | Nepali (ne) | ne-NP |
| NL | Netherlands | Dutch (nl) | nl-NL |
| NC | New Caledonia | French (fr) | fr-NC |
| NZ | New Zealand | English (en) | en-NZ |
| NI | Nicaragua | Spanish (es) | es-NI |
| NE | Niger | Hausa (ha) | ha-NE |
| NG | Nigeria | English (en) | en-NG |
| NU | Niue | English (en) | en-NU |
| NF | Norfolk Island | English (en) | en-NF |
| KP | North Korea | Korean (ko) | ko-KP |
| MK | North Macedonia | Macedonian (mk) | mk-MK |
| MP | Northern Mariana Islands | English (en) | en-MP |
| NO | Norway | Norwegian Bokmål (nb) | nb-NO |
| OM | Oman | Arabic (ar) | ar-OM |
| PK | Pakistan | Urdu (ur) | ur-PK |
| PW | Palau | — | en-PW |
| PS | Palestinian Territories | Arabic (ar) | ar-PS |
| PA | Panama | Spanish (es) | es-PA |
| PG | Papua New Guinea | — | en-PG |
| PY | Paraguay | Guarani (gn) | gn-PY |
| PE | Peru | Spanish (es) | es-PE |
| PH | Philippines | — | en-PH |
| PN | Pitcairn Islands | English (en) | en-PN |
| PL | Poland | Polish (pl) | pl-PL |
| PT | Portugal | Portuguese (pt) | pt-PT |
| PR | Puerto Rico | Spanish (es) | es-PR |
| QA | Qatar | Arabic (ar) | ar-QA |
| RE | Réunion | French (fr) | fr-RE |
| RO | Romania | Romanian (ro) | ro-RO |
| RU | Russia | Russian (ru) | ru-RU |
| RW | Rwanda | Kinyarwanda (rw) | rw-RW |
| WS | Samoa | Samoan (sm) | sm-WS |
| SM | San Marino | Italian (it) | it-SM |
| ST | São Tomé & Príncipe | Portuguese (pt) | pt-ST |
| SA | Saudi Arabia | Arabic (ar) | ar-SA |
| SN | Senegal | Wolof (wo) | wo-SN |
| RS | Serbia | Serbian (sr) | sr-RS |
| SC | Seychelles | French (fr) | fr-SC |
| SL | Sierra Leone | English (en) | en-SL |
| SG | Singapore | English (en) | en-SG |
| SX | Sint Maarten | English (en) | en-SX |
| SK | Slovakia | Slovak (sk) | sk-SK |
| SI | Slovenia | Slovenian (sl) | sl-SI |
| SB | Solomon Islands | English (en) | en-SB |
| SO | Somalia | Somali (so) | so-SO |
| ZA | South Africa | English (en) | en-ZA |
| GS | South Georgia & South Sandwich Islands | English (en) | en-GS |
| KR | South Korea | Korean (ko) | ko-KR |
| SS | South Sudan | Arabic (ar) | ar-SS |
| ES | Spain | Spanish (es) | es-ES |
| LK | Sri Lanka | Sinhala (si) | si-LK |
| BL | St. Barthélemy | French (fr) | fr-BL |
| SH | St. Helena | English (en) | en-SH |
| KN | St. Kitts & Nevis | English (en) | en-KN |
| LC | St. Lucia | English (en) | en-LC |
| MF | St. Martin | French (fr) | fr-MF |
| PM | St. Pierre & Miquelon | French (fr) | fr-PM |
| VC | St. Vincent & Grenadines | English (en) | en-VC |
| SD | Sudan | Arabic (ar) | ar-SD |
| SR | Suriname | Dutch (nl) | nl-SR |
| SJ | Svalbard & Jan Mayen | Norwegian Bokmål (nb) | nb-SJ |
| SE | Sweden | Swedish (sv) | sv-SE |
| CH | Switzerland | German (de) | de-CH |
| SY | Syria | Arabic (ar) | ar-SY |
| TW | Taiwan | Chinese (zh) | zh-TW |
| TJ | Tajikistan | Tajik (tg) | tg-TJ |
| TZ | Tanzania | Swahili (sw) | sw-TZ |
| TH | Thailand | Thai (th) | th-TH |
| TL | Timor-Leste | Portuguese (pt) | pt-TL |
| TG | Togo | French (fr) | fr-TG |
| TK | Tokelau | — | en-TK |
| TO | Tonga | Tongan (to) | to-TO |
| TT | Trinidad & Tobago | English (en) | en-TT |
| TN | Tunisia | Arabic (ar) | ar-TN |
| TR | Türkiye | Turkish (tr) | tr-TR |
| TM | Turkmenistan | Turkmen (tk) | tk-TM |
| TC | Turks & Caicos Islands | English (en) | en-TC |
| TV | Tuvalu | — | en-TV |
| UM | U.S. Outlying Islands | English (en) | en-UM |
| VI | U.S. Virgin Islands | English (en) | en-VI |
| UG | Uganda | Swahili (sw) | sw-UG |
| UA | Ukraine | Ukrainian (uk) | uk-UA |
| AE | United Arab Emirates | Arabic (ar) | ar-AE |
| GB | United Kingdom | English (en) | en-GB |
| US | United States | English (en) | en-US |
| UY | Uruguay | Spanish (es) | es-UY |
| UZ | Uzbekistan | Uzbek (uz) | uz-UZ |
| VU | Vanuatu | Bislama (bi) | bi-VU |
| VA | Vatican City | Italian (it) | it-VA |
| VE | Venezuela | Spanish (es) | es-VE |
| VN | Vietnam | Vietnamese (vi) | vi-VN |
| WF | Wallis & Futuna | French (fr) | fr-WF |
| EH | Western Sahara | Arabic (ar) | ar-EH |
| YE | Yemen | Arabic (ar) | ar-YE |
| ZM | Zambia | English (en) | en-ZM |
| ZW | Zimbabwe | Shona (sn) | sn-ZW |
Reserved codes Google ignores
Google names these explicitly: using EU, UN or UK in hreflang has no effect. They are reserved in ISO 3166-1 rather than assigned to a country. Others in the same family:
UK→ useGB(United Kingdom)EU,EZ,UN→ target individual countries or the plain languageXK(Kosovo) is a user-assigned code, not an official ISO 3166-1 element; use the plain language (sq,sr)AC,TA→ part ofSH;IC,EA→ part ofES- Numeric UN M.49 areas such as
419(Latin America) aren't supported at all
One language, many countries
Splitting a language by country? Google recommends adding a catch-all for everyone else who speaks it:
<link rel="alternate" hreflang="es-ES" href="https://example.com/es-es/" /> <link rel="alternate" hreflang="es-MX" href="https://example.com/es-mx/" /> <link rel="alternate" hreflang="es" href="https://example.com/es/" />
A Spanish speaker in Colombia gets /es/. Build your own set in the hreflang generator, which offers all of these regions in its dropdowns, or look up the language codes.
Country code questions
Which country codes can I use in hreflang?
Officially assigned ISO 3166-1 alpha-2 codes, such as US, GB, DE or BR, always after a language code (en-US). Google ignores reserved codes such as EU, UN or UK.
Can I use a country code without a language?
No. Google states you cannot specify the country code by itself; the first part must be a language. For all visitors in Belgium you would list de-BE, fr-BE and nl-BE as needed.
What is the hreflang code for the United Kingdom?
GB, as in en-GB. UK is exceptionally reserved in ISO 3166-1 and has no effect in hreflang.
How do I target the whole EU or Latin America?
There is no single supported code. es-419 and en-EU are not supported. Use the plain language (es, en) as a catch-all and add specific countries where you have dedicated pages.
Does a country code in hreflang geotarget my site?
Hreflang tells Google which URL to show to users with a given language in a given region. It is not a ranking boost in that country; Google also looks at signals such as ccTLDs and local content.