The ICAO 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 quarterly 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.
ICAO codes versus IATA codes
ICAO codes are separate and different from IATA codes, which have three letters and 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. IATA codes are commonly seen by passengers and the general public on flight-tracking services such as FlightAware.
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. The selection of ICAO codes is partly delegated to authorities in each country, while IATA codes which have no geographic structure must be decided centrally by IATA.
Typically, the first one or two letters of the ICAO code indicate the country and the remaining letters identify the airport, as indicated by the adjoining figures. ICAO codes 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 nearby civilian 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. Kosovo is assigned the code BKxx grouping it with Greenland and Iceland rather than its geographical neighbors which have Lxxx (described below). Jerusalem International Airport was assigned both LLJR (its Israeli persona) as well as OJJR (its Jordanian persona), but the airport itself fell into disuse.
In the contiguous United States and Canada, many airports have ICAO codes that are simply copies of their three-letter IATA codes, with the geographical prefix added on (e.g., YEG and CYEG both refer to Edmonton International Airport, while IAD and KIAD both refer to Washington Dulles International Airport). This similarity does not extend to Alaska (PAxx), Hawaii (PHxx), or US territories. As an example, Kahului Airport on Maui has an IATA code of OGG and an ICAO code of PHOG.
ICAO airport codes do not begin with I or J or X or Q, though the Jezero Crater on Mars is assigned the special ICAO code JZRO. Codes beginning with I (Ixx and Ixxx) are often used for navigational aids such as radio beacons, while Q is reserved for international radiocommunications and non-geographical special uses (see Q code). In Russia and the 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. ZZZZ is a pseudo-code, used in flight plans for aerodromes with no ICAO code assigned.
Sometimes an airport's ICAO code is updated. For example, Johannesburg Airport was formerly known as Jan Smuts International Airport, with code FAJS. It was renamed O. R. Tambo International Airport, and the code was updated to FAOR.
Some airports have two ICAO codes, when an airport is shared by civilian and military users. For example, Frankfurt Airport has ICAO code EDDF, while Rhein-Main Air Base had code EDAF until its closure. Sion Airport in Switzerland has code LSGS, while its military facilities have code LSMS. Brussels Airport has code EBBR for its civilian facilities, while Melsbroek Air Base has code EBMB, but the two airports share runways and ground and air control facilities.
In small countries like Belgium or the Netherlands, almost all aerodromes have an ICAO code. For larger 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. For example, the Aerodrome de Torreilles has code LF6651. 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.
- Airspace class
- IATA airport code
- ICAO airline designators – a list of codes
- International Board for Research into Air Crash Events
- List of airports by IATA and ICAO code
- Metropolitan area airport codes travel guide from Wikivoyage – for areas served by several airports
- Airport codes travel guide from Wikivoyage – relating to particular airports* International Civil Aviation Organization (official site)
- ICAO Doc 7910
- ICAO Free World Airport and Runway Map (ICAO 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. Archived from the original on 2009-02-07. Retrieved 2010-06-25.