Guide
What Do Airport Codes Mean? History and Origins
Airport codes are three-letter IATA identifiers that give every commercial airport a unique global shorthand. They began in the 1930s as two-letter codes borrowed from U.S. National Weather Service stations, then expanded to three letters as aviation grew. Many codes no longer match their city names because of that history, later name changes, and reserved letters.
From two letters to three
In the early days of U.S. commercial flight, airlines simply reused the two-letter codes that the National Weather Service already assigned to observation stations. That worked when only a few dozen airports mattered. But two letters allow just 676 combinations, and by the late 1930s the network was outgrowing them. The industry shifted to three letters, which yield 17,576 possible codes, more than enough to cover every airport on Earth with room to spare.
Airports that already had a beloved two-letter code often kept it and simply added a third letter, usually an X. That is the real reason for some of the most recognizable codes in the world:
| LAX | Los Angeles was "LA" under the old two-letter system; an X was appended to reach three. |
|---|---|
| PDX | Portland, Oregon kept "PD" and added X. |
| PHX | Phoenix followed the same pattern from "PH". |
The X is filler, not an abbreviation of anything. Recognizing this pattern explains a whole family of otherwise puzzling codes.
Why some codes ignore the city name
The most confusing codes usually trace back to what the airfield was originally called, not the city it now serves. Airports are frequently renamed after people or events, but their IATA code is set early and rarely changes, because reassigning it would break tickets, baggage tags, and databases worldwide.
- ORD (Chicago O'Hare) comes from Orchard Field, the airport's name before it honored naval aviator Edward "Butch" O'Hare in 1949. The code stayed with Orchard.
- MCO (Orlando International) preserves McCoy Air Force Base, the military field the airport grew out of, named for Colonel Michael McCoy.
- MSY (New Orleans) stands for Moisant Stock Yards, the land where aviator John Moisant crashed and died; the airfield built there carried his name.
None of these codes match the modern airport name, yet each is perfectly logical once you know the backstory.
Reserved letters force creative codes
Another reason codes drift from city names is that certain first letters are off-limits in the United States. The U.S. Navy reserved codes beginning with N, the letters W and K were tied to radio broadcast call signs, and Q was set aside for international radio communications. Cities whose names would naturally start with those letters had to find alternatives.
The clearest example is EWR for Newark: because "N" was reserved, the code was pulled from later letters in the name. The same pressure produced quirky codes at many older U.S. airports, which is why you rarely see a domestic IATA code that begins with N, K, W, or Q.
IATA codes versus ICAO codes
The three-letter codes travelers see on boarding passes are IATA codes, managed by the International Air Transport Association for ticketing and baggage. There is a second system, the four-letter ICAO code, used by air traffic control and pilots. ICAO codes are regional and structured: they usually encode a country or region in their leading letters, so Seoul's ICN is RKSI in ICAO, and New York's JFK is KJFK. Passengers almost never need the ICAO version.
A few more patterns worth knowing
Some regions follow their own conventions. Most Canadian airports begin with the letter Y, a holdover from early radio-station and telegraph practice, which is why Toronto is YYZ and Vancouver is YVR. Elsewhere, codes often are straightforward initials of the airport or city name, which is the common case even if the memorable exceptions get the attention.
Airport codes, then, are a layer of aviation history frozen in three letters. Some record a weather station from the 1930s, some a demolished airfield, some a rule about radio call signs, and many are simply the initials you would expect. Once you learn the categories, even the strangest code usually has a story that makes sense.