If you’ve spent much time browsing frequent flyer forums like AFF, you’ve probably come across lots of acronyms referring to airlines and airports. Some of the airport codes like “SYD” (Sydney) or “MEL” (Melbourne) are relatively self-explanatory. But there are also some doozies like “YYZ” – which happens to be the IATA airport code for Toronto, Canada.
So, what exactly are these airport and airline codes, and where did they come from?
Contents
About IATA codes
As an airline passenger, you would mostly come across the 3-letter airport codes designated by the International Air Transport Association (IATA).
Founded in Havana in 1945, and now based in Montreal, IATA is the global body representing the commercial air transport industry. Think of it as a trade association. Most major airlines are IATA members. The organisation’s stated aim is “working together to shape the future growth of a safe, secure and sustainable air transport industry that connects and enriches our world”.
From its inception, IATA has worked to make air travel more efficient and streamlined by setting universal standards for member airlines. One way it does this is by assigning every airport that handles commercial passenger flights with a standardised 3-letter code, such as “BNE” for Brisbane International Airport.
IATA also issues all member airlines with a 2-letter code, such as “QF” for Qantas. These codes can either be two letters or a combination of a letter and a number. For example, Jetstar Asia’s IATA code is “3K”.
IATA codes make communication between airlines, travel agents, passengers and other stakeholders much more simple, particularly when there is more than one airport in the same city. These codes are used on airline tickets, boarding passes and baggage tags.
Ultimately, it also saves a lot of time for people writing posts on online forums like AFF. It’s much easier to write “MNL-DMK” than “Ninoy Aquino International Airport, Manila to Don Mueang International Airport, Bangkok”.
There are 17,576 possible 3-letter combinations that could be used as IATA airport codes. While major airports don’t share a code with any other airport, it is theoretically possible that an IATA code could be used for more than one airport.
IATA codes aren’t just for airports
Cities, train stations and occasionally even major bus stations can also have three-letter IATA codes. IATA often allocates major cities with more than one airport with a “city” code, such as “LON” for London or “SEL” for Seoul. These codes encompass all of the airports hosting commercial flights within their city.
Major train stations may receive a dedicated IATA code if airlines sell tickets that include rail connections to/from that station operated by train companies. For example, LH3608 is a Lufthansa “codeshare” service operated by German railway company Deutsche Bahn from Frankfurt Airport (FRA) to the main railway station in Cologne. (Cologne’s main train station has the designated IATA code of QKL).
These codes can change over time. For example, when Kazakhstan’s capital city changed its name from Astana (formerly Tselinograd) to Nursultan, its airport changed its IATA code from TSE to NQZ. The city code “NYC” also changed in 2022 to include only JFK, La Guardia (LGA) and Westchester County/White Plains Airport (HPN) airports – but exclude Newark (EWR).
About ICAO codes
The International Civil Aviation Organization (ICAO), also based in Montreal, is similar in many ways to IATA. But, as a specialised agency of the United Nations, it primarily serves a different function. Rather than facilitating the sale of passenger air tickets, ICAO is more concerned with safety and procedures in civil aviation. It aims to “achieve the sustainable growth of the global civil aviation system”.
Rather than individual airlines, countries can become ICAO members. There are 193 ICAO member states, which all agree to adopt the standards and procedures set by ICAO.
ICAO also issues its own unique airport and airline codes. Compared to IATA, ICAO issues far more airport codes as it also gives these out to civil aviation aerodromes without regular commercial flights. Helicopter pads and weather stations may also receive designated ICAO codes. But things like railway stations which are not technically relevant to civil aviation would not receive an ICAO code.
ICAO codes contain lots of information and must be unique
As there is a much larger number of airports globally with ICAO codes than IATA codes, and each code contains more information, more letter combinations are required. ICAO codes also cannot be repeated, as pilots and air traffic controllers use them. For this reason, ICAO codes contain four letters.
The first one or two letters designates the country where the aerodrome is located. All airfields in Australia have an ICAO code beginning with “Y”. In many cases, but not always, the second letter in the code refers to the ICAO “flight information region” (airspace) where the airport is located.
For example, codes starting with “YS” are used for airports within the Sydney flight information region. So, Sydney Kingsford Smith Airport has the ICAO code “YSSY” and Sydney’s Bankstown Airport is “YSBK”. ICAO codes starting with “YX” are Australian heliports.
ICAO also issues 3-letter airline codes which are different from the 2-digit IATA airline codes. For example, Qantas’ ICAO airline code is “QFA”.
IATA code conventions
IATA airport codes generally resemble the name of the airport or the city they serve. But there are only so many 3-letter combinations available, so sometimes they are a bit off.
For example, the airport in Melbourne, Florida has the IATA code of “MLB” because Tullamarine Airport in Melbourne, Australia had already taken “MEL”. And Dubai International Airport (DXB) couldn’t be “DUB” because that code was already used by Dublin’s main airport.
Sometimes airport codes are named after a person or the suburb where it’s located, like “OOL” for Gold Coast Airport (named after Coolangatta) or “JFK” for John F. Kennedy International Airport in New York.
Los Angeles International Airport once had the code “LA” as US airport codes originally only had two letters when designated in the 1930s. After IATA switched to 3-letter codes in the late 1940s, it was simply convention to add an “X” on the end if there was no obvious candidate for the third letter. That’s the same reason why the airport of Portland, Oregon is “PDX”.
All Canadian airport IATA codes begin with “Y”
You may have noticed that all Canadian airports have an IATA airport code starting with “Y”, such as “YVR” for Vancouver or “YUL” for Montreal. The reason for this also dates back to the 1930s.
Originally, Canadian airports had two-letter codes based on things like the local radio station or railway station code. But before 3-letter airport codes were originally introduced, the Canadians were already adding either a “Y” (short for “yes”) or “W” (for “without”) to the start of every airport code. This was to indicate whether the airfield had a weather station – something that was useful information for pilots back then. Montreal’s airport, which had already been given the code “UL”, had a weather station and therefore became “YUL”.
If you’re interested to know more about why a particular airport has been assigned a specific IATA code, there’s a great website called AirportCod.es dedicated to this sort of trivia.
IATA & ICAO codes for major airlines
If you fly a lot, or spend much time on AFF, you’ll likely come across IATA airline and airport codes all the time. To help you out, if you’re not already familiar with some of these, we’ve put together a list of codes for major airlines, Australian airports and 50 other major airports around the world. We’ve also included the ICAO codes for each one.
Here’s a list of IATA & ICAO codes for key Australian and international airlines:
Airline | IATA code | ICAO code |
---|---|---|
Air Canada | AC | ACA |
Air New Zealand | NZ | ANZ |
Air Niugini | PX | ANG |
AirAsia X | D7 | XAX |
Airnorth | TL | ANO |
Alaska Airlines | AS | ASA |
All Nippon Airways (ANA) | NH | ANA |
Alliance Airlines | UTY | |
American Airlines | AA | AAL |
British Airways | BA | BAW |
Cathay Pacific | CX | CPA |
Delta | DL | DAL |
Emirates | EK | UAE |
Etihad | EY | ETD |
Fiji Airways | FJ | FJI |
Finnair | AY | FIN |
FlyPelican | FP | FRE |
Garuda Indonesia | GA | GIA |
Hawaiian Airlines | HA | HAL |
Japan Airlines | JL | JAL |
Jetstar | JQ | JST |
LATAM Airlines | LA | LAN |
Link Airways | FC | |
Lufthansa | LH | DLH |
Malaysia Airlines | MH | MAS |
Qantas | QF | QFA |
Qatar Airways | QR | QTR |
Rex | ZL | RXA |
Scoot | TR | TGW |
Singapore Airlines | SQ | SIA |
Thai Airways | TG | THA |
Turkish Airlines | TK | THY |
United Airlines | UA | UAL |
Virgin Atlantic | VS | VIR |
Virgin Australia | VA | VOZ |
IATA & ICAO codes for major Australian airports
Here’s a list of IATA & ICAO codes for major airports across Australia:
Airport | IATA code | ICAO code |
---|---|---|
Adelaide | ADL | YPAD |
Alice Springs | ASP | YBAS |
Brisbane | BNE | YBBN |
Cairns | CNS | YBCS |
Canberra | CBR | YSCB |
Darwin | DRW | YPDN |
Gold Coast | OOL | YBCG |
Hobart | HBA | YMHB |
Launceston | LST | YMLT |
Melbourne (Avalon) | AVV | YMAV |
Melbourne (Tullamarine) | MEL | YMML |
Perth | PER | YPPH |
Sunshine Coast | MCY | YBSU |
Sydney | SYD | YSSY |
Townsville | TSV | YBTL |
IATA & ICAO codes for major international airports
Finally, here’s a list of IATA & ICAO codes for 50 major international airports of interest to Australians:
Airport | IATA code | ICAO code |
---|---|---|
Abu Dhabi | AUH | OMAA |
Amsterdam | AMS | EHAM |
Athens | ATH | LGAV |
Auckland | AKL | NZAA |
Bangkok (Suvarnabhumi) | BKK | VTBS |
Barcelona | BCN | LEBL |
Bengaluru | BLR | VOBL |
Cancun | CUN | MMUN |
Christchurch | CHC | NZCH |
Colombo | CMB | VCBI |
Dallas/Fort Worth | DFW | KDFW |
Delhi | DEL | VIDP |
Denpasar (Bali) | DPS | WADD |
Doha | DOH | OTDB |
Dubai | DXB | OMDB |
Frankfurt | FRA | EDDF |
Guangzhou | CAN | ZGGG |
Helsinki | HEL | EFHK |
Ho Chi Minh City | SGN | VVTS |
Hong Kong | HKG | VHHH |
Honolulu | HNL | PHNL |
Houston (Bush) | IAH | KIAH |
Istanbul | IST | LTFM |
Jakarta | CGK | WIII |
Johannesburg | JNB | FAOR |
Kuala Lumpur | KUL | WMKK |
London (Gatwick) | LGW | EGKK |
London (Heathrow) | LHR | EGLL |
Los Angeles | LAX | KLAX |
Madrid | MAD | LEMD |
Manila | MNL | RPLL |
Mumbai | BOM | VABB |
Munich | MUC | EDDM |
Nadi | NAN | NFFN |
New York (Kennedy) | JFK | KJFK |
Osaka (Kansai) | KIX | RJBB |
Paris (Charles de Gaulle) | CDG | LFPG |
Queenstown | ZQN | NZQN |
Rome (Fiumicino) | FCO | LIRF |
San Francisco | SFO | KSFO |
Santiago (Chile) | SCL | SCEL |
Sao Paulo (Guarulhos) | GRU | SBGR |
Seoul (Incheon) | ICN | RKSI |
Shanghai (Pudong) | PVG | ZSPD |
Singapore | SIN | WSSS |
Taipei | TPE | RCTP |
Tokyo (Haneda) | HND | RJTT |
Tokyo (Narita) | NRT | RJAA |
Vancouver | YVR | CYVR |
Wellington | WLG | NZWN |
If in doubt, you can always look up IATA codes on the IATA website.
Community Comments
Loading new replies...
Join the full discussion at the Australian Frequent Flyer →