International Civil Aviation Organization airport code

The ICAO (, as if "I-K-O") airport code or location indicator is a four-letter alphanumeric code designating each airport around the world. These codes are defined by the International Civil Aviation Organization, and published in ICAO Document 7910: Location Indicators.

The ICAO codes are used by air traffic control and airline operations such as flight planning. They are not the same as the IATA codes encountered by the general public, which are used for airline timetables, reservations, and baggage handling. For example, travellers who use London's Heathrow Airport will most likely be familiar with its IATA code: LHR. They are less likely, however, to be familiar with the ICAO code: EGLL.

ICAO codes are also used to identify other locations such as weather stations, International Flight Service Stations or Area Control Centers, whether or not they are located at airports.

Structure
Unlike the IATA codes, the ICAO codes have a regional structure (they are broken up by 'sections' of the world), are not duplicated, 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, ICAO codes provide geographical context unlike IATA codes. Using the earlier example as Heathrow airport, if one knows that the ICAO code for Heathrow is EGLL, then one can deduce that the airport EGNH is somewhere in the UK (it is Blackpool International 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 Pennsylvania in the United States).

In the contiguous United States and Canada, most, but not all, airports have been assigned three-letter IATA codes which are the same as their ICAO code without the leading K or C. e.g., YYC and CYYC (Calgary International Airport, Calgary, Alberta), IAD and KIAD (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, 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, Hilo International Airport (PHTO vs ITO) and Juneau International Airport (PAJN vs JNU).

In region L (Southern Europe), all available 2-letter prefixes have been exhausted and thus no additional countries can be added.

ZZZZ is a special code which is used when no ICAO code exists for the airport and is normally used in flight plans.

A list of airports, sorted by ICAO code, is available.