Beginner’s Guide to Airport & Airline Codes

Beginner's guide to airport and airline IATA codes
IATA airport and airline codes are an important part of the aviation industry lingo. Photo: Matt Graham.

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?

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”.

Qantas First Lounge departures board
All Qantas flight numbers start with “QF”. Photo: Matt Graham.

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).

Deutsche Bahn ICE high-speed train at Frankfurt Flughafen Fernbahnhof
Some high-speed trains from Frankfurt Airport have LH “flight” numbers. Photo: Matt Graham.

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 headquarters in Montreal, Canada
ICAO headquarters in Montreal, Canada. Photo: Matt Graham.

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.

International departures at Sydney Airport T1
Sydney Airport’s IATA code is “SYD”, but its ICAO code is “YSSY”. Photo: Matt Graham.

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.

Emirates A380 at Dubai Airport
Dubai Airport is “DXB” because DUB wasn’t available. Photo: Emirates.

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”.

LAX Airport
Los Angeles International Airport was assigned the code “LAX” in the 1940s. Photo: Jeremy Bezanger on Unsplash.

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:

AirlineIATA codeICAO code
Air CanadaACACA
Air New ZealandNZANZ
Air NiuginiPXANG
AirAsia XD7XAX
AirnorthTLANO
Alaska AirlinesASASA
All Nippon Airways (ANA)NHANA
Alliance AirlinesQQUTY
American AirlinesAAAAL
British AirwaysBABAW
Cathay PacificCXCPA
DeltaDLDAL
EmiratesEKUAE
EtihadEYETD
Fiji AirwaysFJFJI
FinnairAYFIN
FlyPelicanFPFRE
Garuda IndonesiaGAGIA
Hawaiian AirlinesHAHAL
Japan AirlinesJLJAL
JetstarJQJST
LATAM AirlinesLALAN
Link AirwaysFC 
LufthansaLHDLH
Malaysia AirlinesMHMAS
QantasQFQFA
Qatar AirwaysQRQTR
RexZLRXA
ScootTRTGW
Singapore AirlinesSQSIA
Thai AirwaysTGTHA
Turkish AirlinesTKTHY
United AirlinesUAUAL
Virgin AtlanticVSVIR
Virgin AustraliaVAVOZ

IATA & ICAO codes for major Australian airports

Here’s a list of IATA & ICAO codes for major airports across Australia:

AirportIATA codeICAO code
AdelaideADLYPAD
Alice SpringsASPYBAS
BrisbaneBNEYBBN
CairnsCNSYBCS
CanberraCBRYSCB
DarwinDRWYPDN
Gold CoastOOLYBCG
HobartHBAYMHB
LauncestonLSTYMLT
Melbourne (Avalon)AVVYMAV
Melbourne (Tullamarine)MELYMML
PerthPERYPPH
Sunshine CoastMCYYBSU
SydneySYDYSSY
TownsvilleTSVYBTL

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:

AirportIATA codeICAO code
Abu DhabiAUHOMAA
AmsterdamAMSEHAM
AthensATHLGAV
AucklandAKLNZAA
Bangkok (Suvarnabhumi)BKKVTBS
BarcelonaBCNLEBL
BengaluruBLRVOBL
CancunCUNMMUN
ChristchurchCHCNZCH
ColomboCMBVCBI
Dallas/Fort WorthDFWKDFW
DelhiDELVIDP
Denpasar (Bali)DPSWADD
DohaDOHOTDB
DubaiDXBOMDB
FrankfurtFRAEDDF
GuangzhouCANZGGG
HelsinkiHELEFHK
Ho Chi Minh CitySGNVVTS
Hong KongHKGVHHH
HonoluluHNLPHNL
Houston (Bush)IAHKIAH
IstanbulISTLTFM
JakartaCGKWIII
JohannesburgJNBFAOR
Kuala LumpurKULWMKK
London (Gatwick)LGWEGKK
London (Heathrow)LHREGLL
Los AngelesLAXKLAX
MadridMADLEMD
ManilaMNLRPLL
MumbaiBOMVABB
MunichMUCEDDM
NadiNANNFFN
New York (Kennedy)JFKKJFK
Osaka (Kansai)KIXRJBB
Paris (Charles de Gaulle)CDGLFPG
QueenstownZQNNZQN
Rome (Fiumicino)FCOLIRF
San FranciscoSFOKSFO
Santiago (Chile)SCLSCEL
Sao Paulo (Guarulhos)GRUSBGR
Seoul (Incheon)ICNRKSI
Shanghai (Pudong)PVGZSPD
SingaporeSINWSSS
TaipeiTPERCTP
Tokyo (Haneda)HNDRJTT
Tokyo (Narita)NRTRJAA
VancouverYVRCYVR
WellingtonWLGNZWN

If in doubt, you can always look up IATA codes on the IATA website.

The editor of Australian Frequent Flyer, Matt's passion for travel has taken him to over 80 countries… with the help of frequent flyer points, of course!
Matt's favourite destinations (so far) are Germany, Brazil & Kazakhstan. His interests include economics, aviation & foreign languages, and he has a soft spot for good food and red wine.

You can connect with Matt by posting on the Australian Frequent Flyer community forum and tagging @AFF Editor.
________________________

Related Articles

Community Comments

Loading new replies...

While some airport codes have changed I think it’s interesting that Beijing is still PEK (Peking) and Mumbai is still BOM (Bombay). I’m sure there’d be quite a few more that still kept their original codes too.

Reply Like

The things you learn: "Founded in Havana in 1945,..."

I bet there's a fascinating story about how/why IATA originated in Havana.

Following on from @Hampton Mike I can think of two airports that have changed location and kept their original city codes, specifically HKG and BKK, with the original BKK airport at Don Mueang (Asia's oldest airport) now having the IATA code DMK and ICAO code VTBD.

Whereas the old HKG AP (aka Kai Tak) is now used for housing.

Reply Like

Following on from @Hampton Mike I can think of two airports that have changed location and kept their original city codes, specifically HKG and BKK, with the original BKK airport at Don Mueang (Asia's oldest airport) now having the IATA code DMK and ICAO code VTBD.

Same for SIN/QPG, KUL/SZB, DOH/DIA...

Reply Like

While some airport codes have changed I think it’s interesting that Beijing is still PEK (Peking) and Mumbai is still BOM (Bombay). I’m sure there’d be quite a few more that still kept their original codes too.

Ho Chi Minh City / SGN (Saigon) is another one that comes to mind.

Reply Like

Thanks for explaining why Canadian airports have rather odd codes. :)

Following on from @Hampton Mike I can think of two airports that have changed location and kept their original city codes, specifically HKG and BKK, with the original BKK airport at Don Mueang (Asia's oldest airport) now having the IATA code DMK and ICAO code VTBD.

Add IST to that. Used to be for Istanbul Atatürk Airport, now for the relative-newie at Arnavutköy . I was surprised to see just now that Ataturk had closed completely.

Reply Like

While some airport codes have changed I think it’s interesting that Beijing is still PEK (Peking) and Mumbai is still BOM (Bombay). I’m sure there’d be quite a few more that still kept their original codes too.

Chengdu = CTU (Chengtu)
Chennai = MAA (Madras)
Chongqing = CKG (Chungking)
Guangzhou = CAN (Canton)
Guilin = KWL (Kweilin)
Kochi = cough (Cochin)
Kolkata = CCU (Calcutta)
Nanjing = NKG (Nanking)
Qingdao = TAO (Tsingtao)
St Petersburg = LED (Leningrad)
Tianjin = TSN (Tientsin)
Yangon = RGN (Rangoon)

Reply Like

Some more:
Zhengzhou = CGO (Chengchow)
Podgorica = TGD (Titograd)

Reply Like

Same for SIN/QPG, KUL/SZB, DOH/DIA...

Closer to home did MEB used to have the MEL code originally?

Reply Like

Watching sunrise (I know) this morning can they please use BNE instead of BRS and HBA instead of HOB! No wonder people post the wrong codes…

Reply 1 Like

The things you learn: "Founded in Havana in 1945,..."

I bet there's a fascinating story about how/why IATA originated in Havana.

Following on from @Hampton Mike I can think of two airports that have changed location and kept their original city codes, specifically HKG and BKK, with the original BKK airport at Don Mueang (Asia's oldest airport) now having the IATA code DMK and ICAO code VTBD.

Whereas the old HKG AP (aka Kai Tak) is now used for housing.

A bit more trivia: Kai Tak is not the name of the airport's location, but the name of the contruction company that built the airport. They had a sign at the site and somehow the name just stuck.

Reply 1 Like

click to expand...