ICAO Airport Code Prefix Guide

What every letter prefix means — decode any ICAO code instantly

ICAO codes (International Civil Aviation Organization) are 4-letter identifiers used by air traffic control, flight planning systems, and pilots worldwide. Unlike IATA codes — which are arbitrary 3-letter codes assigned to commercial airports — ICAO codes have a logical geographic structure built into their prefix.

The first one or two letters of an ICAO code tell you exactly which region or country the airport is in. Once you know the system, you can decode any ICAO code before looking it up.

Example: KSEA

K = Contiguous United States · SEA = derived from Seattle · Full: Seattle–Tacoma International Airport

Example: EGLL

EG = United Kingdom · LL = Heathrow · Full: London Heathrow Airport

A — Western South Pacific

AG Solomon Islands
AN Nauru
AY Papua New Guinea

B — North Atlantic

BG Greenland
BI Iceland
BK Kosovo

C — Canada

Canada uses a single-letter prefix. The second letter further subdivides by province: CY = major airports, CZ = aerodromes.

C Canada (all provinces and territories)

D — West Africa

DA Algeria
DB Benin
DF Burkina Faso
DG Ghana
DI Ivory Coast (Côte d'Ivoire)
DN Nigeria
DR Niger
DT Tunisia
DX Togo

E — Northern Europe

EB Belgium
ED Germany (civil aviation)
EE Estonia
EF Finland
EG United Kingdom
EH Netherlands
EI Ireland
EK Denmark (including Faroe Islands)
EL Luxembourg
EN Norway
EP Poland
ES Sweden
ET Germany (military)
EV Latvia
EY Lithuania

F — Africa (south of equator)

FA South Africa
FB Botswana
FC Republic of Congo
FD Eswatini (Swaziland)
FE Central African Republic
FG Equatorial Guinea
FH Saint Helena
FI Mauritius
FK Cameroon
FL Zambia
FM Madagascar, Comoros, Réunion
FN Angola
FO Gabon
FP São Tomé and Príncipe
FQ Mozambique
FS Seychelles
FT Chad
FV Zimbabwe
FW Malawi
FX Lesotho
FY Namibia
FZ Democratic Republic of Congo

G — Africa (northwest)

GA Mali
GB The Gambia
GC Spain (Canary Islands)
GE Spain (Ceuta, Melilla)
GF Sierra Leone
GG Guinea-Bissau
GL Liberia
GM Morocco
GO Senegal
GQ Mauritania
GS Western Sahara
GU Guinea
GV Cape Verde

H — Africa (northeast)

HA Ethiopia
HB Switzerland
HC Somalia
HD Djibouti
HE Egypt
HH Eritrea
HK Kenya
HL Libya
HR Rwanda
HS Sudan
HT Tanzania
HU Uganda

K — Contiguous United States

The K prefix is unique: it's a single letter covering the entire contiguous US. IATA codes for US airports are often the last 3 letters of the ICAO code (SEA → KSEA), but not always (LAX → KLAX, ORD → KORD).

K Contiguous 48 states of the United States

L — Southern Europe / Middle East

LA Albania
LB Bulgaria
LC Cyprus
LD Croatia
LE Spain (mainland)
LF France
LG Greece
LH Hungary
LI Italy
LJ Slovenia
LK Czech Republic
LL Israel
LM Malta
LN Monaco / San Marino
LO Austria
LP Portugal (including Azores, Madeira)
LQ Bosnia and Herzegovina
LR Romania
LS Switzerland
LT Turkey
LU Moldova
LV Palestinian Territory
LW North Macedonia
LX Gibraltar
LY Serbia / Montenegro
LZ Slovakia

M — Central America & Caribbean

MB Turks and Caicos Islands
MD Dominican Republic
MG Guatemala
MH Honduras
MK Jamaica
MM Mexico
MN Nicaragua
MP Panama
MR Costa Rica
MS El Salvador
MT Haiti
MU Cuba
MW Cayman Islands
MY Bahamas
MZ Belize

N — Pacific Ocean

NC Cook Islands
NF Fiji, Tonga, Vanuatu
NG Kiribati (Gilbert Islands)
NI Niue
NL Wallis and Futuna
NS American Samoa, Western Samoa
NT French Polynesia (Tahiti)
NV Vanuatu
NW New Caledonia
NZ New Zealand / Antarctica

O — Middle East

OA Afghanistan
OB Bahrain
OE Saudi Arabia
OI Iran
OJ Jordan
OK Kuwait
OL Lebanon
OM United Arab Emirates
OO Oman
OP Pakistan
OR Iraq
OS Syria
OT Qatar
OY Yemen

P — Pacific (US territories) & Alaska

PA Alaska (south/central)
PF Alaska (north)
PG Guam and Northern Mariana Islands
PH Hawaii
PJ Palau
PK Marshall Islands
PM Midway Islands
PT Micronesia
PW Palau

R — East Asia (US/Japan/Korea)

RC Taiwan
RJ Japan (civil)
RK South Korea
RO Japan (US military bases)
RP Philippines

S — South America

SA Argentina
SB Brazil (south)
SC Chile
SD Brazil
SE Ecuador
SF Falkland Islands
SG Paraguay
SI Brazil
SK Colombia
SL Bolivia
SM Suriname
SN Brazil
SO French Guiana
SP Peru
SS Brazil
SU Uruguay
SV Venezuela
SW Brazil
SY Guyana

T — Caribbean

TA Antigua and Barbuda
TB Barbados
TD Dominica
TF Guadeloupe, Martinique, Saint-Martin
TG Grenada
TI US Virgin Islands
TJ Puerto Rico
TK Saint Kitts and Nevis
TL Saint Lucia
TN Netherlands Antilles (Aruba, Curaçao)
TQ Anguilla
TT Trinidad and Tobago
TU British Virgin Islands
TV Saint Vincent and the Grenadines
TX Bermuda

U — Russia & Central Asia

Russia uses many two-letter prefixes for its vast territory. U alone covers the western half; the Russian Far East uses code groups under other regional assignments.

UA Kazakhstan
UB Azerbaijan
UC Kyrgyzstan
UD Armenia
UG Georgia
UK Ukraine
UM Belarus
UT Tajikistan, Turkmenistan, Uzbekistan
UU Russia (Moscow / European Russia)
UW Russia (Volga / Ural)

V — South Asia & Southeast Asia

VA India (Western region — Mumbai)
VB Myanmar
VC Sri Lanka
VD Cambodia
VE India (Eastern region — Kolkata)
VG Bangladesh
VH Hong Kong
VI India (Northern region — Delhi)
VL Laos
VM Macau
VN Nepal
VO India (Southern region — Chennai)
VQ Bhutan
VR Maldives
VT Thailand
VV Vietnam
VY Myanmar

W — Southeast Asia (western)

WA Indonesia (western)
WB Malaysia, Brunei
WI Indonesia (central)
WM Malaysia (peninsular)
WP Timor-Leste
WQ Indonesia (eastern)
WR Indonesia (eastern)
WS Singapore

Y — Australia & Antarctica

Australia uses a single-letter Y prefix for all civil airports, similar to Canada's C. The second letter often indicates the state (YM = Victoria, YS = South Australia, etc.).

Y Australia (all states and territories)
YB Antarctica (Australian territory)

Z — China & Mongolia

ZB China (Beijing / North China)
ZG China (Guangzhou / South China)
ZH China (Shenzhen)
ZJ China (Hainan)
ZK China (Kunming / Southwest)
ZL China (Lanzhou / Northwest)
ZM Mongolia
ZP China (Guiyang)
ZS China (Shanghai / East China)
ZU China (Chengdu / Southwest)
ZW China (Xinjiang)
ZY China (Shenyang / Northeast)

Frequently Asked Questions

Why does the United States use "K" instead of "U"?

The U prefix was assigned to the Soviet Union and its successor states. When ICAO established its regional coding system, K was assigned to the contiguous United States. This was partly influenced by existing radio station naming conventions — US broadcast stations east of the Mississippi used W, and those to the west used K. Alaska and Hawaii use P codes instead.

Why does Canada use "C" and Australia use "Y"?

Both countries received single-letter prefixes due to their large geographic size and the large number of airports they operate. Canada's C prefix covers all provinces and territories. Australia's Y prefix similarly covers the entire continent. The choice of specific letters reflects ICAO's regional allocation decisions from the late 1940s.

Why don't ICAO and IATA codes always match?

IATA codes were originally derived from city names or weather station codes and were not designed to be globally unique in the same systematic way. ICAO codes were designed later with geographic logic built in. For many US airports, the IATA code is the last 3 letters of the ICAO code (SEA → KSEA), but for others they diverge entirely (ORD for O'Hare, which uses KORD because ORD derived from "Orchard Field," the airport's former name).

Are ICAO codes always 4 letters?

Yes — all standard ICAO airport identifiers are exactly 4 letters. The OurAirports dataset sometimes includes longer "idents" for non-standard facilities, but official ICAO codes are always 4 characters. If you see a 4-letter code starting with the country prefix, it's an ICAO code.