Summary

  • Airport codes are divided into two sets: IATA codes (three letters) for passenger operations and ICAO codes (four letters) for industry use.
  • IATA codes are determined based on how the airport wants to identify itself and the availability of the letter combination.
  • ICAO codes can differ from their corresponding IATA codes and follow a more rigid structure based on an airport's geography and region.

You might be familiar with airport codes, usually three or four letters, and used as shorthand for such facilities. Popular ones include LAX (Los Angeles International), JFK (New York John F. Kennedy International), LHR (London Heathrow), SIN (Singapore Changi), and thousands of others. Whether on checked baggage tags, boarding passes, or that inflight tracker, you'll find these codes at several places along your journey. Some of these three-letter codes make sense and correspond easily to the city you're flying to. Others, not at all. So, how are they determined?

Two types of codes: IATA and ICAO

Before we begin, it should be noted that there are two sets of codes for airports: IATA (International Air Transportation Association) and ICAO (International Civil Aviation Organization).

  • IATA three-letter codes are used for passenger-facing operations: This is what most passengers will be familiar with, and the codes used on tickets, boarding passes, and signage.
  • ICAO codes, also known as "location indicators," consist of four letters and are used within the industry - think pilots, air traffic control, airline operations planners, etc.

Determining IATA airport codes

In short, deciding which three letters make up an IATA travel code comes down to two main things:

  1. How the airport wishes to identify itself
  2. The availability of that letter combination (to ensure there are no duplicates)

However, the first reason can be due to a multitude of factors, which include:

Matching the city or region an airport serves

Some examples of this include:

  • Amsterdam Schiphol International Airport (AMS)
  • Adolfo Suárez Madrid-Barajas International Airport (MAD)
  • Mexico City International Airport (MEX)

Interestingly, this makes codes 'fluid,' meaning they can be reassigned to new facilities. One good example is "IST." Only a few years ago, Istanbul Atatürk Airport was the main facility serving the city of Istanbul, Turkey, and held the IST code. However, when the new Istanbul International Airport opened in 2018, the IST code was transferred over, with Atatürk being assigned ISL instead.

A departure board in Germany featuring flights to major cities all over the world..
Photo: Pxhere

Want answers to more key questions in aviation? Check out the rest of our guides here.

Historical figures

Many countries use their airports and codes to honor leaders or other historical figures. Some famous examples include:

  • JFK: New York's biggest airport is named after the 35th US President, John F. Kennedy, who was assassinated in 1963.
  • CDG: Paris' main airport is named after Charles de Gaulle, the military leader who went on to become the first president of the French Fifth Republic.
An aerial view of a terminal at New York JFK Airport.
Photo: Vincenzo Pace I Simple Flying

Historic city names

Many airport codes might seem confusing since they don't seem to represent their city or any figure. Think Mumbai CST International Airport carrying the code BOM or Bishkek's Manas International Airport having the code FRU. Indeed, these codes are usually holdovers from former city names, usually colonial ones.

  • BOM: Mumbai was named Bombay during the British reign in India, and since the first airport opened during that time, it adopted BOM as its code, one it holds today as well.
  • FRU: Bishkek, the Kyrgyzstan capital, was called Frunze during the city's Soviet era after the Bolshevik military leader Mikhail Frunze.

Nationwide uniformity

One standout from all these rules is Canada, where all airports start with 'Y.' Toronto Pearson International Airport carries code YYZ, while Vancouver International Airport carries code YVR.

We've gone in-depth into Canada's airport naming culture previously, and you can read more.

Determining ICAO codes

ICAO's four-letter location indicators range from being slightly different from the corresponding IATA code to not at all the same. Regarding those that are relatively similar, this typically involves having the additional letter first, which indicates the region of the aerodrome. Here are some examples:

  • All continental US airports begin with the letter K: KLAX, KJFK, KORD - these correspond with LAX, JFK, and ORD, respectively.
  • Canadian airports begin with C: CYVR, CYYZ, and CYUL, corresponding to their IATA codes of YVR, YYZ, and YUL, respectively.

As you can see in these cases, the IATA code is simply the ICAO code minus the first letter. However, since one region can have multiple countries, and only North America has its own breakdowns, it's a bit more complicated.

Some ICAO codes have no resemblance to their IATA counterpart due to this. While the first letter will strictly represent the region, the second letter generally represents a country within that region.

  • EGLL represents London Heathrow (IATA: LHR), with E designating Western Europe, and G designating it a UK airport.
  • EYVI represents Vilnius airport in Lithuania (IATA: VNO), with E designating Western Europe, and Y indicates that it is in Lithuania.

To summarize, four-letter ICAO codes have a more rigid structure, with the first two letters tied to an airport's geography. IATA codes, on the other hand, do not have such rules. While they will often correspond to the city an airport serves, there are many more reasons for assigning codes, and they will depend on each and every airport.

Did you know about the reasons behind selecting airport codes? Let us know in the comments.