Why airport codes rarely match the city on your ticket
By Rive News / Research desk | Rive News / Published October 29, 2026 at 9:00 AM PKT
Key takeaways
- Airport codes are three-letter tags assigned by IATA, and they identify an airport, not a city.
- Many odd codes survive from old airfield names, weather stations, or people the airport was named after.
- A code is almost never changed once airlines, tickets, and baggage systems all use it.

[A vintage flip-style departure board displays international flight destinations, the kind of board where codes stand in for city names.] Photograph: Vintage airport flip board
Image Credits: Pexels
An airport code is a short tag that booking systems, boarding passes, and baggage labels use to name one specific airfield. The three-letter version most travellers see is assigned by the International Air Transport Association, known as IATA. It is not a puzzle or a joke, even when it looks like one.
This article explains why airport codes often look nothing like city names, including the old airfield names that stuck, the weather stations that seeded whole countries, the filler letters that padded short codes, and why a code rarely changes.
Why the code names the airport, not the city
A city can have more than one airport, and each one needs its own tag. London uses LHR for Heathrow, LGW for Gatwick, and STN for Stansted, according to the code listings that travellers check every day. Chicago has ORD for O'Hare and MDW for Midway.
One city name cannot serve as a unique label when several airfields share it.
The code also has to work inside machines and on printed tags. Three letters are short enough to fit a baggage label and fast enough to type into a booking system. That practical need came first, and neat spelling came second.
When the obvious letters were already taken, the system moved on to the next workable option.
IATA states that it prefers the first three letters of the city name when possible, as National Geographic reported in its explainer on airport codes. It does not explain the rest, because history kept getting in the way.
Old airfields left their names on the code
Chicago O'Hare is the classic example. Its code is ORD because the site was originally Orchard Field, and the code never changed when the airport was renamed for war hero Edward O'Hare. National Geographic reports that IATA itself gives this history as the reason.
The letters describe a place that no longer exists under that name, yet every ticket to Chicago still carries them.
Orlando tells a similar story with an extra twist. Orlando International is MCO because it began as McCoy Air Force Base, named for Colonel Michael Norman Wright McCoy. It cannot switch to ORL because Orlando Executive Airport already holds that code.
A code, once assigned, blocks every later claimant to the same three letters.
Nashville follows the same pattern. Its code, BNA, comes from Berry Field Nashville, named for Colonel Harry S. Berry.
New Orleans is MSY for Moisant Stockyards, the site where the airport was built. In each case the code is a small piece of local history that outlived the name on the terminal building.
People, not places, gave some airports their codes
Some codes honour a person rather than a place. New York has JFK for John F. Kennedy and LGA for Fiorello LaGuardia, the mayor after whom LaGuardia Airport is named.
Kahului on Maui is OGG for Bertram J. Hogg, a pilot linked to the airport's early days. Spokane is GEG for Major Harold Geiger.
These codes look random only if you expect a city abbreviation. Once you know the airport is named for a person, the letters make sense as initials or a surname fragment. The same logic applies to Hartford, where BDL recalls Lieutenant Eugene M.
Bradley, and to Knoxville, where TYS recalls Charles McGhee Tyson.
Airports named for people are common enough that a traveller cannot assume a code will spell anything geographic. The naming decision happened when the airport was built or renamed, and the code simply recorded it. Later passengers inherit the result without the backstory.
Canada got its Y from weather stations
Canada's codes look stranger than most, and they have a different origin. In the 1930s, Canadian weather reporting stations used two-letter codes, and airports inherited them with a letter added in front. The letter Y meant the station shared its location with an airport, according to the history of IATA codes.
That is why Vancouver is YVR and Montreal is YUL.
Toronto Pearson is YYZ, which follows the same system rather than spelling anything about Toronto. The second and third letters trace back to an old station code, not to the city's name. Once the pattern was set, new Canadian airports kept the Y prefix for consistency, even though the weather-station reason had faded.
The Canadian case shows how a code system can drift away from plain language. A rule made for radio operators in the 1930s still shapes what millions of passengers type into search boxes today. Nobody sat down and chose YYZ because it looked good.
It survived because changing it would break too many systems.

[Flight information boards show domestic departures at Ankara airport, where each flight is tracked by its airport code.] Photograph: Flight information display at Ankara airport
Image Credits: Pexels

[A departure hall at Frankfurt Airport features a flight information board and check-in kiosks, where codes direct passengers to the correct gate.] Photograph: Frankfurt Airport departure hall
Image Credits: Pexels
The letter X filled in the gaps
Early aviation used two-letter codes, and when the system grew to three letters, many airports simply added an X. Los Angeles went from LA to LAX, Phoenix became PHX, and Portland became PDX. The X carries no meaning of its own.
It is a filler that completed the pattern.
This also explains why so many famous codes end in X. The letter marks an airport old enough to have held a two-letter code before the expansion. Younger airports, assigned three letters from the start, rarely needed the trick.
So an X at the end of a code is often a clue about age, not about the city.
When the obvious code is already taken
Only 17,576 three-letter combinations exist, and thousands are already assigned. When two airports want the same letters, the first one keeps them and the second one improvises. Seville is SVQ and Malaga is AGP, even though neither spells its city in an obvious way, because the closer matches were already in use elsewhere.
Geography adds another rule. National Geographic reports a Federal Aviation Administration rule that airports within 200 nautical miles of each other must differ by more than one letter. That is one reason Orlando could not take a code too close to Miami's MIA.
Sometimes the workaround is a nearby place name. Cincinnati's airport is CVG because it sits across the Ohio River in Covington, Kentucky, not in Cincinnati itself. Stockholm's Arlanda airport is ARN, taken from the parish of Husby-Arlinghundra where it stands.
The code names the ground the airport sits on, even when the city it serves is somewhere else.
Why codes almost never change
Changing a code sounds simple, but it touches every system that moves a passenger or a bag. Airlines, booking sites, air traffic control, baggage handling, and printed signs would all need updating at the same time. A mistake during the switch could send luggage to the wrong continent.
That is why airports keep codes that no longer match their names. The cost and risk of a change outweigh the benefit of a tidier label. For most airports, the code is permanent in practice, even if it is not permanent in theory.
Travellers also learn codes by repetition. Frequent flyers know ORD, LHR, and CDG without thinking about what the letters stand for. Changing a familiar code would confuse the very people who use it most.
Stability, in this case, is a feature of the system, not a failure.
How to read a code you have never seen
Start by checking whether the code matches the airport's name rather than the city's. Search the airport's full name and look for an older name, a nearby town, or a person it honours. One of those three usually explains the letters.
If the code starts with Y and the airport is Canadian, the weather-station history is the likely answer.
Next, check whether the city has more than one airport. If it does, the code is probably distinguishing this airfield from its neighbours. Then check whether the code ends in X, which often means an old two-letter code was padded.
These three checks solve most mysteries without any special knowledge.
Finally, remember that a code is a label, not a description. It only needs to be unique and stable. The fact that it does not spell the city name is not a flaw in the system.
It is evidence that the system grew over decades, absorbing airfields, weather stations, and local history along the way.
Frequently asked questions
Why is Chicago O'Hare ORD and not CHI?
ORD comes from Orchard Field, the airport's original name, and the code stayed when the airport was renamed for Edward O'Hare. CHI is not assigned to a single airport, partly because Chicago has more than one airfield. The old code survived because changing it would disrupt booking and baggage systems.
Who decides airport codes?
IATA assigns the three-letter codes that appear on tickets and boarding passes. A separate body, the International Civil Aviation Organization, assigns four-letter codes used for operational and air traffic purposes. The two systems serve different jobs, which is why Los Angeles is LAX to passengers and KLAX to controllers.
Can an airport change its code?
It can, but it rarely does, because the change must be coordinated across airlines, booking platforms, and baggage systems worldwide. A few airports have changed codes for branding reasons. Most keep their original code even after a renaming, since stability matters more than a tidy match with the current name.
Why do all Canadian airport codes start with Y?
Most large Canadian airports start with Y because their codes grew out of 1930s weather-station codes, where Y marked a station that shared its location with an airport. The pattern stuck as new airports were added. Not every Canadian airport starts with Y, but the prefix is now a familiar national pattern.
The bottom line
Airport codes look odd because they were never designed to spell city names. They grew from weather stations, old airfields, named people, filler letters, and first-come claims on a limited set of combinations. Each strange code carries a piece of that history.
The next time a code looks wrong, check the airport's past rather than the city's spelling, and the letters will usually explain themselves.
Tags: airport codes, IATA codes, air travel, aviation history
Rive News's research desk covers everyday questions about travel, science, and how familiar systems work, using published sources and official records.
Related
- Codeshare flights and why your ticket names two airlines
- Why runways have numbers and what they mean
- Why airports sometimes board planes from the back door
- How to find your way around an airport you have never used
Subscribe to Rive News for one clear explainer each day on the systems behind everyday travel.
Rive News follows a published-standards policy: claims are checked against public sources, corrections are noted on the article, and no invented quotes or statistics are used.


