Last Updated: April 27, 2021

Airport Codes: Everything You Need To Know

Curious about those three-letter codes that you have to rip off from your luggage after every flight? They’re called IATA location codes, and there’s a lot more to learn about them! Whether you’re flying to JFK or SUX, your ticket and bag will be assigned a specific location code.

Who chooses them, what’s their purpose, and how are they used? What about the other codes? And what in the world is up with the airport codes in Canada?

You will find the answers to all those questions, and more, in the rest of this detailed guide on airport codes!

What Are Airport Codes?

Airport Codes

Airport codes are three-letter codes that are assigned to airports around the world. Each airport has a three-letter location code that is unique to that specific airport. It’s what you’ll see on your ticket, flight itinerary, and baggage tag when you fly to any specific airport. But, who assigns and monitors these codes to ensure that no two airports have the same code?

That would be IATA – International Air Transport Association. It was originally founded in Havana in 1945, to promote safe and reliable air travel. But even that IATA was a successor to the International Air Traffic Association founded in The Hague in 1919. At the very beginning, IATA consisted of only 57 airlines from 31 countries. Today, over 290 airlines from 120 different countries are members of IATA.

Today’s IATA is vastly different from the original organization because of the unprecedented growth of the industry. As the demand for air travel grew, the industry boomed – nowadays, it’s more than 100 times larger than at the time of IATA’s founding.

IATA is focused mostly on the commercial side of traveling, and so IATA codes are generally used for ticketing passengers and tagging baggage. When you book a flight, your itinerary displays the IATA codes that are assigned to the airports you will be using.  

How Are Airport Codes Assigned?

Back in the day when there were no standardized location codes for airports, pilots would refer to them with two-letter codes designated by the National Weather Service. When IATA wanted to standardize the codes for all airports, they decided to use three-letter instead of two-letter codes. Why? Because there are only 325 different two-letter combinations, but more than 17,500 three-letter combinations are possible.

Many airports just added the suffix -X to their existing two-letter code to avoid any confusion. That’s why we have LAX for the Los Angeles airport and PDX for the Portland airport today. Some airports instead changed their name and opted to use an entirely different three-letter code. It wasn’t until 1960 that IATA stepped in as the main body that would regulate airport codes and ensure that every airport is assigned a unique code.

But that was the case almost a century earlier – today, IATA assigns location codes to all the new airports. And the main requirement is still that the code is unique so that there’s no confusion. The code will usually include initials from the airport name or the city it’s in. It can be any letters that are meaningful to the area in a way, as long as that three-letter combination is not in use by any other entity in the world.

How Many Airport Codes Are There?

There’s 9130 airport location codes total, and you can look them all up on IATA’s official website. Considering that there are 17,576 possible three-letter combinations, we still have a long way to go before this coding system has to be changed at all. Especially since IATA codes are usually assigned just to public airports. 

Keep in mind that I’m only referring to the IATA codes here. Most airports are also assigned ICAO codes, but more on that later.

What’s The Purpose Of IATA Location codes?

Boarding Pass

IATA location codes are mostly used for commercial purposes – in other words, for purposes relating to passengers. They are assigned to tickets, they show up in the flight itinerary, and they’re on your baggage tag so handlers know which plane they need to shove your bag into. IATA codes, unlike ICAO and FAA codes, are used only for commercial purposes.  

The necessity for codes arose from convenience way back in the 30s, even before the IATA standardization. It was much easier for pilots to refer to an airport by a two-letter code than the full name, and for a while, the system worked well. But as the industry expanded and airports were built in places without weather stations, this became unmanageable.  

Then came the IATA standardization with unique codes for every single airport, ICAO codes for official purposes, and even FAA codes for those tiny airports that don’t have an IATA or an ICAO code.

What About The Four-Letter Codes?

Helicopter Cockpit

As if it’s not confusing enough that your ticket says YYZ when you’re flying to Toronto, there’s also an additional four-letter code that usually makes even less sense. But to explain why four-letter codes exist, we have to go back and talk about ICAO.

ICAO stands for International Civil Aviation Organization. It is an agency of the United Nations, and its main purpose is to set and monitor standards for international air transport. ICAO is the only international organization with the authority to impose and change standards for infrastructure, navigation technology, flight inspection, and cross-border procedures.

ICAO is concerned with regulating air travel on a state level, whereas IATA focuses more on the private sector. And it’s the same with codes – IATA codes are used for ticketing passengers and tagging baggage, whereas ICAO codes are more often used for air traffic controls and company flight plans. That’s why not every single airport in the world has an IATA code, but most of them have an ICAO code – a civilian passenger has nothing to do with privately-owned airports or heliports, but an air traffic controller will require some sort of identification code for them.

That’s the major difference between IATA and ICAO – ICAO codes are assigned to all airports and heliports, whereas IATA codes are only assigned to medium and major public airports. ICAO codes are also assigned to all private airports, even the ones that are used only by airlines and are not open to the public.

Metropolitan Area Airport Codes

Apart from individual airport codes, IATA also assigns umbrella codes for metropolitan areas with multiple airports. Why? I can only assume to confuse travelers even more.

So, if you look up the IATA code CHI, you’ll find all the codes for all international airports in Chicago –

  • ORD for O’Hare
  • MDW for Midway
  • RFD for Rockford.

But in case your luggage gets tagged with CHI, you’re in big trouble because there’s not actually an airport in Chicago with that code.

What’s Up With Canada?

Canadian Codes

On the one hand, we have unmistakable airport codes like JFK and LAX, and it’s obvious which airports they are referring to. And on the other hand, we have Canada! When JFK is the code for John F. Kennedy International Airport, in what world does it make sense that YXE is short for Saskatoon John G. Diefenbaker International Airport?

 It doesn’t make sense, and it likely won’t make sense even after I’ve explained it. But, try to bear with me, and you might just figure out what’s going on with Canada.

Before the founding of IATA, Canada relied on the identification of the weather towers to help pilots navigate which airport is the closest to them. Canadian weather towers are identified with two-letter codes, and the vast majority of the towers were in places that also housed radio stations and airports. So, if someone in the 1920s was trying to land at Montréal–Trudeau airport, they would have referred to it as UL, because that was the radio call sign for the closest weather tower.

The system functioned well, but changes came with the increase in air travel. Already in 1930, it became crucial to differentiate between airports that were close to weather towers and those that weren’t. So, Canada adopted the prefix Y-  (Yes) for all airports that were close to weather towers, and W- (without) for those that weren’t.

When IATA was founded in 1945, they required all airports to be identified with three-letter codes. Because Canada had already done this, they actually claimed the letter Y- as a prefix that signifies all their commercial airports. That’s why they’re the only country with airport codes that all start in Y-, and that’s why the vast majority of Canadian airport codes make absolutely no sense.

But what happened later, when they started building airports in other cities that didn’t have weather towers? In these cases, they opted to use railway station codes instead. Most of them already used a two-letter Morse Code indicator, and they just added the Y- prefix. And these actually make some sense –

  • YVR refers to Vancouver
  • YQB to Quebec

Also, remember this: all Canadian airport codes start with Y-, but not all airport codes that start with Y- are Canadian. YAK is the code for Yakutat Airport in Alaska, YAS is the code for Yasawa Island Airport in Fiji, and so on.

TL;DR: As is usually the case in Canada, the weather is the major reason why all their airport codes start with Y-.

Exceptions To The Rule

As with everything else in life, there are several exceptions to IATA’s standardized airport coding. I think they’re interesting, and in case you’re ever flying to or from one of these airports, it’s good to know these things so you don’t get confused.

Let’s start with the Basel Mulhouse Freiburg airport that has three IATA codes (BSL, MLH, EAP) and two ICAO codes ( LFSB, LSZM). This is the only airport in the world to have more than one IATA code, so what’s going on here?

Well, the airport is operated jointly by Switzerland and France. It is entirely on French soil, but it has a Swiss customs border. When you land at this airport, you can get either a French or a Swiss stamp in your passport, and it entirely depends on which officer you approach. That’s why the airport has three codes – BSL (Basel) is the Swiss code, MLH (Mullhouse) is the French code, and EAP (EuroAirport) is the neutral code.

It’s also interesting that some European airports have codes that are based only on their English name, even though it has very little to do with their original name in the native language. And so,

  • CGN (Cologne) is the code for Köln airport
  • OPO (Oporto) is the code for the airport in Porto
  • VIE (Vienna) is the code for an airport in Wien

Additionally, there are a lot of airports that use a code that corresponds to their former name. Chicago’s O’Hare is coded as ORD only because the old name of the airport was Orchard Field. It’s the same with Fresno Yosemite International Airport, which is coded as FAT because it used to be Fresno Air Terminal.

Some airports are coded with letters that are in no way related to the city or airport but are an homage to a specific person. Kahului airport is coded as OGG as an homage to Bertram J. Hogg, a Hawaiian aviation pioneer. Louisville Muhammad Ali International Airport is coded as SDF because it was previously named Standiford Field, after Dr. Elisha David Standiford.

Also, there’s the whole issue of Newark being EWR and Napa being APC. Here’s the deal – the Navy actually reserved the prefix N- so there wouldn’t be any confusion with FCC broadcasting call signs. Most US airports that have codes beginning with N- either used to be naval airports or are relatively newer airports.

There are a lot more examples of this, but I’m afraid it would take too long to list them all. But to sum it all up, some airport codes are easy to unpack and they make perfect sense, and others will mean nothing to you even if you know exactly which airport you’re flying to.  

List Of Location Codes For Major Airports

Curious about the busiest airports in the world? The table below will cover the 30 busiest airports in the world by the number of passengers, along with their IATA and ICAO codes, as well as locations!

Note: The list identifies the world’s busiest airports using data from 2019. Data from 2020 was not considered, for obvious reasons.

IATA Code ICAO Code Airport Location
ATL KATL Hartsfield-Jackson Atlanta International Atlanta, Georgia
PEK ZBAA Beijing Capital International Beijing, China
LAX KLAX Los Angeles International Los Angeles, California
DXB OMDB Dubai International Dubai, United Arab Emirates
HND RJTT Tokyo Haneda Tokyo, Japan
ORD KORD O’Hare International Chicago, Illinois
LHR EGLL Heathrow London, UK
PVG ZSPD Shanghai Pudong International Shanghai, China
CDG LFPG Charles de Gaulle Paris, France
DFW KDFW Dallas/Fort Worth International Dallas, Texas
CAN ZGGG Guangzhou Baiyun International Guangzhou, China
AMS EHAM Amsterdam Airport Schiphol Haarlemmermeer, Netherlands
HKG VHHH Hong Kong International Hong Kong SAR, China
ICN RKSI Seoul Incheon International Incheon, South Korea
FRA EDDF Frankfurt Frankfurt, Germany
DEN KDEN Denver International Denver, Colorado
DEL VIDP Indira Gandhi International Delhi, India
SIN WSSS Singapore Changi Changi, Singapore
BKK VTBS Suvarnabhumi Bang Phli, Thailand
JFK KJFK John F. Kennedy International New York, New York
KUL WMKK Kuala Lumpur International Selangor, Malaysia
MAD LEMD Madrid Barajas Madrid, Spain
SFO KSFO San Francisco International San Francisco, California
CTU ZUUU Chengdu Shuangliu International Chengdu, China
CGK WIII Soekarno-Hatta International Banten, Indonesia
SZX ZGSZ Shenzhen Bao’an International Shenzhen, China
BCN LEBL Barcelona-El Prat Barcelona, Spain
IST LFTM Istanbul Istanbul, Turkey
SEA KSEA Seattle-Tacoma International Seattle, Washington
LAS KLAS McCarran International Las Vegas, Nevada


List Of Funny Airport Codes

Not all airport codes are as easy to unpack as LAX and JFK. Some are much more interesting and downright funny, and that’s what I wanted to list here. From GRR to SUX, here are some funny airport location codes.

IATA Code   ICAO Code  Airport Location
PIE KPIE St. Petersburg Clearwater International Clearwater, Florida
LOL KLOL Derby Field Lovelock, Nevada
OMG FYOE Omega Omega, Namibia
EEK PAEE Eek Eek, Alaska
PEE USPP Bolshoye Savino Perm, Russia
POO SBPC Poços De Caldas – Embaixador Walther Moreira Salles Poços De Caldas, Brazil
BAD KBAD Barksdale Air Force Base Bossier City, Louisiana
SUX KSUX Sioux Gateway Col. Bud Day Field Sioux City, Iowa
GRR KGRR Gerald R. Ford International Grand Rapids, Michigan
WOW PAUO Willow Willow, Alaska
GAG KGAG Gage Gage, Oklahoma
FUN NGFU Funafuti International Funafuti, Tuvalu
BUM KBUM Butler Memorial Butler, Missouri
DAD VVDN Da Nang International Da Nang, Vietnam
COW SCCQ Tambillos Coquimbo, Chile
BRR EGPR Barra Eoligarry, UK
IDK YIDK Indulkana South Australia
SAD KSAD Safford Regional Safford, Arizona
BOO ENBO Bodø Bodø, Norway
ODD YOOD Oodnadatta Australia

The management at some airports recognized that the catchy code will have people talking about them, and they decided to capitalize on that fact. Sioux airport has entirely embraced their weird code, and they’re now selling T-shirts and mugs that say Fly SUX. But they’re an exception and not the rule. 

About the Author Roger Timbrook

Roger is a little obsessed with travel. He has been to over 40 countries, broken 3 suitcases and owned over 10 backpacks in 12 months. What he doesn't know about travel, ain't worth knowing!

follow me on:

Leave a Comment: