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, and 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 3-letter codes can also be used for cities, train stations and occasionally even major bus stations. Major cities with more than one airport are often allocated 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 (which 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” will also soon change 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 these are also given 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.

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 they are used by pilots and air traffic controllers. 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” as “MEL” was already taken by Tullamarine Airport in Melbourne, Australia. 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.

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 QQ UTY
American Airlines AA AAL
Bonza AB BNZ
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 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

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.

 

You can leave a comment or discuss this topic on the Australian Frequent Flyer forum.

The editor of Australian Frequent Flyer, Matt's passion for travel has taken him to over 70 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 Like