An ICAO code is a four-character alphanumeric sequence used to identify airports around the world. They are defined by the International Civil Aviation Organisation (ICAO) and are used by Air Traffic Control (ATC) and airline operations for flight planning. Typical examples are London Heathrow (ICAO: EGLL) and London Gatwick (ICAO: EGKK).
This is different from an IATA code (International Air Transport Association), which is also used to identify airports but is used for the commercial side of the airline industry such as ticketing and baggage handling. In this case the IATA code for Heathrow is LHR and Gatwick is LGW.
In most parts of the world, ICAO codes are classified geographically by region or country. The first letter is used to identify the continent, the second letter generally represents a country, while the remaining two are used to identify the airport. However, in some cases the third letter is used to identify the Flight Information Region (FIR) in which an airport is located, while the last character is for the airport. For example, Edinburgh in Scotland has the ICAO code of EGPH — E for Northern Europe, G for United Kingdom, P for Scottish region and H is for the airport. Similarly, LFPG has L for southern Europe, F for France, P for Paris FIR and G for Charles de Gaulle Airport.
Europe has too many countries for only one starting letter, so it was split into Exxx for northern Europe and Lxxx for southern Europe. For example, EGxx is for the UK (G for Great Britain), ESxx is for Sweden (S for Sweden), while in southern Europe, LExx is for Spain (E for Espana), LGxx is Greece and France is designated LFxx. Some continents such as South America, on the other hand, have relatively few countries. In this case, each one is prefixed with S and then the country name, so SAxx is Argentina and SCxx is Chile.
Airports in the US and Canada are slightly different. Rather than following a geographical naming convention, in the US the ICAO code is formed by adding a ‘K’ to existing three letter codes (or in Canada by adding a ‘C’ such as Cxxx). These names were inherited from radio station identifiers which were prefixed with a ‘K’ in the US and ‘C’ in Canada but they often correspond to the IATA code. So, Atlanta (IATA: ATL) has an ICAO of KATL, Boston (BOS) is KBOS and Miami (MIA) is KMIA. In Canada, Vancouver International Airport has an IATA code of YVR and a ICAO code of CYVR and so on. US territories such as Alaska or Hawaii have their own two-letter ICAO prefix, PA for Alaska and PH for Hawaii, so Hilo International Airport is (PHTO) and Juneau is (PAJN).
Back in the day…
In the past, the National Weather Service in the US used a two-letter system which was later adopted by airlines. As air travel continued to expand, more airports needed codes and the three-letter system was born. Many existing airports added an X after the weather station code, so for example, Los Angeles became known as LAX or KLAX.
Finally, the Federal Aviation Administration uses a combination of three or four alphanumeric characters used to identify small airports in the US that don’t have an ICAO code; Orbx customers should be familiar with names such as 65S Bonners Ferry.
Another example is 2WA1 Diamond Point Airstrip which is a private-use airfield and in this case the two letters represent the state in which the strip is located or in this instance Washington. Other combinations such as 2ND9 indicate the airport is in North Dakota and 85FL is in Florida. The numbers are also sometimes used to identify public and private airfields, and in some cases they use the first two letters of the postcode for their location.