The ICAO (/ˌaɪˌkeɪˈoʊ/, eye-KAY-oh) airport code or location indicator is a four-letter code designating aerodromes around the world. These codes, as defined by the International Civil Aviation Organization and published in ICAO Document 7910: Location Indicators, are used by air traffic control and airline operations such as flight planning.
ICAO codes are also used to identify other aviation facilities such as weather stations, International Flight Service Stations or Area Control Centers, whether or not they are located at airports. Flight information regions are also identified by a unique ICAO-code.
The International Civil Aviation Organization was formed in 1947 under the auspices of the United Nations, and it established Flight Information Regions (FIRs) for controlling air traffic and making airport identification simple and clear.
Code selections in North America were based on existing radio station identifiers. For example, radio stations in Canada were already starting with "C", so it seemed logical to begin Canadian airport identifiers with a C (Cxxx). The United States had many pre-existing airports with established mnemonic codes. Their ICAO codes were formed simply by prepending a K to the existing codes, as half the radio station identifiers in the US began with K. Most ICAO codes outside the US and Canada have a stronger geographical structure.
Most of the rest of the world was classified in a more planned top-down manner. Thus Uxxx referred to the Soviet Union with the second letter denoting the specific region within it, and so forth. Europe had too many locations for only one starting letter, so it was split into Exxx for northern Europe and Lxxx for southern Europe. The second letter was more specific: EGxx was the United Kingdom (G for Great Britain), EDxx was West Germany (D for Deutschland), ETxx was East Germany (the ETxx code was reassigned to military fields after the reunification), LExx was Spain (E for España), LAxx was Albania, and so on. France was designated LFxx, as the counterpart EFxx was the unambiguously northern Finland. (originally OFxx, as the more rigid geographical structure evolved over time; in the beginning, countries usually had "blocks" of codes; for example, Finland still has the country identifier OH- in its aircraft registrations).
ICAO codes vs. IATA codes
ICAO codes are separate and different from IATA codes, which are generally used for airline timetables, reservations, and baggage tags. For example, the IATA code for London's Heathrow Airport is LHR and its ICAO code is EGLL. ICAO codes are commonly seen by passengers and the general public on flight-tracking services such as FlightAware, but passengers will more often see the IATA codes, such as on their tickets and their luggage tags. In general IATA codes are usually derived from the name of the airport or the city it serves, while ICAO codes are distributed by region and country. Far more aerodromes (in the broad sense) have ICAO codes than IATA codes, which are sometimes assigned to railway stations as well.
Unlike the IATA codes, the ICAO codes generally have a regional structure and are comprehensive. In general, the first letter is allocated by continent and represents a country or group of countries within that continent. The second letter generally represents a country within that region, and the remaining two are used to identify each airport. The exception to this rule is larger countries that have single-letter country codes, where the remaining three letters identify the airport. In either case, and unlike IATA codes, ICAO codes generally provide geographical context. For example, if one knows that the ICAO code for Heathrow is EGLL, then one can deduce that the airport EGGP is somewhere in the UK (it is Liverpool John Lennon Airport). On the other hand, knowing that the IATA code for Heathrow is LHR does not enable one to deduce the location of the airport LHV with any greater certainty (it is William T. Piper Memorial Airport in Lock Haven, Pennsylvania in the United States).
There are a few exceptions to the regional structure of the ICAO code made for political or administrative reasons. For example, the RAF Mount Pleasant air base in the Falkland Islands is assigned the ICAO code EGYP as though it were in the United Kingdom, but a nearby civilian airport such as Port Stanley Airport is assigned SFAL, consistent with South America. Similarly Saint Pierre and Miquelon is controlled by France, and airports there are assigned LFxx as though they were in Europe. Further, in region L (Southern Europe), all available 2-letter prefixes have been exhausted and thus no additional countries can be added. Thus when Kosovo declared independence, there was no space in the Lxxx codes to accommodate it, so airports in Kosovo were assigned BKxx, grouping Kosovo with Greenland and Iceland.
The letters I, J and X are not currently used as the first letter of any ICAO identifier. In Russia and CIS, Latin letter X (or its Morse/Baudot Cyrillic equivalent Ь) is used to designate government, military and experimental aviation airfields in internal airfield codes similar in structure and purpose to ICAO codes but not used internationally. Q is reserved for international radiocommunications and other non-geographical special uses (see Q code).
In the contiguous United States, Canada and some airports in Mexico, most, but not all, airports have been assigned three-letter IATA codes. These are the same as their ICAO code, but without the leading K, C, or M.; e.g., YEG and CYEG both refer to Edmonton International Airport, Edmonton, Alberta; IAD and KIAD are used for Washington Dulles International Airport, Chantilly, Virginia. These codes are not to be confused with radio or television call signs, even though both countries use four-letter call signs starting with those letters. However, because Alaska, Hawaii, and United States territories have their own 2-letter ICAO prefix (i.e. "PA" for Alaska, "PH" for Hawaii"), the situation there is similar to other smaller countries and the ICAO code of their airports is typically different from its corresponding 3-letter FAA/IATA identifier. For example, Kona International Airport (PHKO vs KOA) and Juneau International Airport (PAJN vs JNU). Notably, the largest gateway to Hawaii, Honolulu International Airport's ICAO code contains the IATA identifier - PHNL (IATA: HNL), while Anchorage International Airport's ICAO code also does the same - PANC (IATA: ANC).
ZZZZ is a pseudo-code, used in flight plans for aerodromes with no ICAO code assigned.
A list of airports, sorted by ICAO code, is available below.
In small countries like Belgium or the Netherlands, almost all aerodromes have an ICAO code. For bigger countries like the UK or Germany this is not feasible, given the limited number of letter codes. Some countries have addressed this issue by introducing a scheme of sub-ICAO aerodrome codes; France, for example, assigns pseudo-ICAO codes in the style LFddnn, where dd indicates the department while nn is a sequential counter. In the case of France, an amateur organisation, the FFPLUM (Fédération Française des Planeurs Ultra Légers, the "French Federation of Ultralight Motorized Gliders"), was formally named the keeper of these codes. In Antarctica many aerodromes have pseudo ICAO-codes with AT and two digits, while others have proper codes from base owner countries such as NZ for New Zealand.
|A - Western South Pacific|
|AY||Papua New Guinea|
|B - Greenland, Iceland, and Kosovo (European Alternate)|
|C - Canada|
|D – Eastern parts of West Africa and Maghreb|
|E – Northern Europe|
|EG||United Kingdom (and Crown dependencies)|
|EK||Denmark and the Faroe Islands|
|F – Most of Central Africa and Southern Africa, and the Indian Ocean|
|FC||Republic of the Congo|
|FE||Central African Republic|
|FH||Saint Helena, Ascension and Tristan da Cunha|
|FJ||British Indian Ocean Territory|
|FM||Comoros, France (Mayotte and Réunion), and Madagascar|
|FP||São Tomé and Príncipe|
|FZ||Democratic Republic of the Congo|
|G – Western parts of West Africa and Maghreb|
|GC||Spain (Canary Islands)|
|GE||Spain (Ceuta and Melilla)|
|H – East Africa and Northeast Africa|
|HC||Somalia (including Somaliland)|
|HS||Sudan and South Sudan|
|K – Contiguous United States|
|K||Contiguous United States|
|L – Southern Europe, Israel and Turkey|
|LE||Spain (mainland section and Balearic Islands)|
|LF||France (Metropolitan France; including Saint-Pierre and Miquelon)|
|LP||Portugal (including the Azores and Madeira)|
|LQ||Bosnia and Herzegovina|
|LY||Serbia and Montenegro|
|M – Central America, Mexico and northern/western parts of the Caribbean|
|MB||Turks and Caicos Islands|
|N – Most of the South Pacific|
|NG||Kiribati (Gilbert Islands), Tuvalu|
|NL||France (Wallis and Futuna)|
|NS||Samoa, United States (American Samoa)|
|NT||France (French Polynesia)|
|NW||France (New Caledonia)|
|NZ||New Zealand, Antarctica|
|O – Pakistan, Afghanistan and most of Middle East|
(excluding Cyprus, Israel, Turkey, and the South Caucasus)
|OJ||Jordan and the West Bank|
|OM||United Arab Emirates|
|P – (Former)American North Pacific and Kiribati|
|PA||US (Alaska) (also PF, PO and PP)|
|PB||US (Baker Island)|
|PC||Kiribati (Canton Airfield, Phoenix Islands)|
|PF||US (Alaska) (also PA, PO and PP)|
|PG||US (Guam, Northern Mariana Islands)|
|PJ||US (Johnston Atoll)|
|PL||Kiribati (Line Islands)|
|PM||US (Midway Island)|
|PO||US (Alaska) (also PA, PF and PP)|
|PP||US (Alaska) (also PA, PF and PO)|
|PT||Federated States of Micronesia, Palau|
|PW||US (Wake Island)|
|R – Taiwan/South Korea/Philippines and Japan|
|RC||Republic of China (Taiwan)|
|RK||Republic of Korea (South Korea)|
|S – South America|
|SB||Brazil (also SD, SI, SJ, SN, SS and SW)|
|SC||Chile (including Easter Island) (also SH)|
|SD||Brazil (also SB, SI, SJ, SN, SS and SW)|
|SF||United Kingdom (Falkland Islands)|
|SH||Chile (also SC)|
|SI||Brazil (also SB, SD, SJ, SN, SS and SW)|
|SJ||Brazil (also SB, SD, SI, SN, SS and SW)|
|SN||Brazil (also SB, SD, SI, SJ, SS and SW)|
|SO||France (French Guiana)|
|SS||Brazil (also SB, SD, SI, SJ, SN and SW)|
|SW||Brazil (also SB, SD, SI, SJ, SN and SS)|
|T – Eastern and southern parts of the Caribbean|
|TA||Antigua and Barbuda|
|TF||France (Guadeloupe, Martinique, Saint Barthélemy, Saint Martin)|
|TI||US (U.S. Virgin Islands)|
|TJ||US (Puerto Rico)|
|TK||Saint Kitts and Nevis|
|TN||Caribbean Netherlands, Aruba, Curaçao, Sint Maarten|
|TT||Trinidad and Tobago|
|TU||UK (British Virgin Islands)|
|TV||Saint Vincent and the Grenadines|
|U – Russia and post-Soviet states, excluding the Baltic states and Moldova|
|U||Russia (except UA, UB, UC, UD, UG, UK, UM and UT)|
|UM||Belarus and Russia (Kaliningrad Oblast)|
|UT||Tajikistan, Turkmenistan, Uzbekistan|
|V – South Asia (except Afghanistan and Pakistan),|
mainland Southeast Asia, Hong Kong and Macau
|W – Maritime Southeast Asia (except the Philippines)|
|WA||Indonesia (also WI, WQ and WR)|
|WB||Brunei, Malaysia (East Malaysia)|
|WI||Indonesia (also WA, WQ and WR)|
|WM||Malaysia (Peninsular Malaysia)|
|WQ||Indonesia (also WA, WI and WR)|
|WR||Indonesia (also WA, WI and WQ)|
|Y – Australia|
|Y||Australia (including Norfolk Island, Christmas Island and Cocos (Keeling) Islands)|
|Z –(Former)Socialist East Asia|
|Z||Mainland China (except ZK and ZM)|
- Airspace class
- Class A airport
- IATA airport code
- ICAO airline designators – A list of codes
- List of airports by IATA and ICAO code
- International Board for Research into Air Crash Events
- Index of four-character airfield codes in Russia
- "Accueil". basulm.ffplum.info.
- ICAO On-line Publications Purchasing (official site)
- International Civil Aviation Organization (official site)
- Airport IATA/ICAO Designator / Code Database Search (from Aviation Codes Central Web Site – Regular Updates)
- "Airport ABCs: An Explanation of Airport Identifier Codes". Air Line Pilot. Air Line Pilots Association. December 1994.