An IATA airport code, also known as an IATA location identifier, IATA station code, or simply a location identifier, is a unique three-letter geocode designating many airports, cities (with one or more airports) and metropolitan areas (cities with more than one airport) around the world, defined by the International Air Transport Association (IATA). The characters prominently displayed on baggage tags attached at airport check-in desks are an example of a way these codes are used.

The assignment of these codes is governed by IATA Resolution 763, and it is administered by the IATA's headquarters in Montreal, Canada. The codes are published semi-annually in the IATA Airline Coding Directory. Alphabetical lists of airports sorted by IATA code are available.

IATA also provides codes for airport handling entities and for certain railway stations, bus stations and ferry ports. A list of railway station codes, shared in agreements between airlines and rail lines such as Amtrak, SNCF, and , is available. However, many railway administrations have their own list of codes for their stations, such as Amtrak station codes.

History Airport codes arose out of the convenience that the practice brought pilots for location identification in the 1930s. Initially, pilots in the United States used the two-letter code from the National Weather Service (NWS) for identifying cities. This system became unmanageable for cities and towns without an NWS identifier, and the use of two letters allowed only a few hundred combinations; a three-letter system of airport codes was implemented. This system allowed for 17,576 permutations, assuming all letters can be used in conjunction with each other.

In the early days of aviation, airport codes frequently adopted (or were required to comply with) the naming conventions previously established by weather stations, railway stations, and other commercial or governmental outposts that communicated by radio or telegraph. The code names for those stations, which usually predated the use of two-way radio and even radiotelephony itself, reflected the need for terse, standardized signalling patterns that could be easily transmitted and correctly received via radiotelegraphy and Morse code.

Naming conventions

National policies Canada Canada's unusual codes, which bear little to no similarity with any conventional abbreviation to the city's name (such as YUL in Montréal and YYZ in Toronto), originated from the two-letter codes used to identify weather reporting stations in the 1930s. The letters preceding the two-letter code follow the following format:

Y – for "Yes", this letter was used when the station shared its location with an airport. W – for "Without", when the weather-reporting station did not share its location with an airport. U – used when the station was located together with a non-directional beacon (NDB). X – suggesting that the last two letters of a code were already in use by a Canadian airport. Z – indicated that an airport code had been used for the identification of an airport in the U.S.

Most large airports in Canada have codes that begin with the letter "Y", although not all "Y" codes are Canadian (for example, YUM for Yuma, Arizona, and YNT for Yantai, China), and not all Canadian airports start with the letter "Y" (for example, ZBF for Bathurst, New Brunswick). Many Canadian airports have a code that starts with W, X or Z, but none of these are major airports. When the Canadian transcontinental railways were built, each station was assigned its own two-letter Morse code:

VR for Vancouver TZ for Toronto QB for Quebec City WG for Winnipeg SJ for Saint John YC for Calgary OW for Ottawa EG for Edmonton

When the Canadian government established airports, it used the existing railway codes for them as well. If the airport had a weather station, authorities added a "Y" to the front of the code, meaning "Yes" to indicate it had a weather station or some other letter to indicate it did not. When international codes were created in cooperation with the United States, because "Y" was seldom used in the United States, Canada simply used the weather station codes for its airports, changing the "Y" to a "Z" if it conflicted with an airport code already in use. The result is that most major Canadian airport codes start with "Y" followed by two letters in the city's name, based on the transcontinental railroad two-letter Morse code, as mentioned above (for example, YOW for Ottawa, YWG for Winnipeg, YYC for Calgary, or YVR for Vancouver), whereas other Canadian airports append the two-letter code of the radio beacons that were the closest to the actual airport, such as YQX in Gander or YXS in Prince George.

Four of the ten provincial capital airports in Canada have ended up with codes beginning with YY, including:

YYZ for Toronto, Ontario YYJ for Victoria, British Columbia YYT for St. John's, Newfoundland and Labrador YYG for Charlottetown, Prince Edward Island

Canada's largest airport is YYZ for Toronto Pearson (as YTZ was already allocated to Billy Bishop Toronto City Airport, the airport was given the station code of Malton, Mississauga, where it is located). YUL is used for Montréal–Trudeau (UL was the ID code for the beacon in the city of Kirkland). While these codes make it difficult for the public to associate them with a particular Canadian city, some codes have become popular in usage despite their cryptic nature, particularly at the largest airports. Toronto's code has entered pop culture in the form of "YYZ", a song by the rock band Rush, which utilizes the Morse code signal as a musical motif. Some airports have started using their IATA codes as brand names, such as Calgary International Airport (YYC) and Vancouver International Airport (YVR).

New Zealand Several New Zealand airports use codes that contain the letter Z, to distinguish them from similar airport names in other countries. Some examples are HLZ for Hamilton, ZQN for Queenstown, and WSZ for Westport.

United States Since the United States Navy reserved "N" codes, and to prevent confusion with Federal Communications Commission broadcast call signs, which begin with "W" or "K", the airports of certain U.S. cities whose name begins with one of these letters had to adopt "irregular" airport codes:

APC for Napa, California ASH for Nashua, New Hampshire (at Boire Field) BNA for Nashville, Tennessee (whose airport's original name was Berry Field) EWR for Newark, New Jersey EYW for Key West, Florida HVN for New Haven, Connecticut ILM for Wilmington, North Carolina MCI for Kansas City, Missouri (whose airport's original name was Mid-Continent International Airport) MSY for New Orleans, Louisiana (named for the Moisant Stock Yards previously on the airport's site) OME for Nome, Alaska ORF for Norfolk, Virginia

This practice is not followed outside the United States:

Kuala Lumpur, Malaysia is KUL Naples, Italy is NAP Nassau, The Bahamas is NAS Warsaw, Poland is WAW

In addition, since three letter codes starting with Q are widely used in radio communication, cities whose name begins with "Q" also had to find alternate codes, as in the case of:

Qiqihar, China (NDG) Qianjiang, Chongqing, China (JIQ) Quzhou, China (JUZ) Quetta, Pakistan (UET) Quito, Ecuador (UIO) Quimper, France (UIP)

Even this practice is not followed universally. For instance Owerri in Nigeria uses the code QOW.

IATA codes should not be confused with the FAA identifiers of U.S. airports. Most FAA identifiers agree with the corresponding IATA codes, but some do not, such as Saipan, whose FAA identifier is GSN and its IATA code is SPN, and some coincide with IATA codes of non-U.S. airports.

Naming conventions in general

Many airport codes consist of the first three letters of the city where the airport is located, for instance: AMS for Amsterdam DEL for Delhi SIN for Singapore The code may also be another combination of the letters in the city's name, such as: GDL for Guadalajara HKG for Hong Kong WAW for Warsaw

Sometimes the airport code reflects pronunciation, rather than spelling, for example: NAN, which reflects the pronunciation of "Nadi" as in Fijian, where "d" is realized as the prenasalized stop

For many reasons, some airport codes do not fit the normal scheme described above. Some airports, for example, cross several municipalities or regions, and therefore use codes derived from a combination of their letters, resulting in: DFW for Dallas/Fort Worth DTW for Detroit–Wayne County LBA for Leeds Bradford Airport MSP for Minneapolis–Saint Paul RDU for Raleigh–Durham

Other airports—particularly those serving cities with multiple airports—have codes derived from the name of the airport itself, for instance: JFK for New York's John F. Kennedy LHR for London's Heathrow Airport CDG for Paris's Charles de Gaulle (see below)

This is also true with some cities with a single airport (even if there is more than one airport in the metropolitan area of said city), such as BDL for Hartford, Connecticut's Bradley International Airport or Baltimore's BWI, for Baltimore/Washington International Airport; however, the latter also serves Washington, D.C., alongside Dulles International Airport (IAD, for International Airport Dulles) and Ronald Reagan Washington National Airport (DCA, for District of Columbia Airport).

The code also sometimes comes from the airport's former name, such as Orlando International Airport's MCO (for McCoy Air Force Base), or Chicago's O'Hare International Airport, which is coded ORD for its original name: Orchard Field. New Century AirCenter, serving the Kansas City metropolitan area, uses JCI, from its former name of Johnson County Industrial Airport.

In rare cases, the code comes from the airport's unofficial name, such as Kahului Airport's OGG (for local aviation pioneer Jimmy Hogg).

Cities with multiple commercial airports In large metropolitan areas, airport codes are often named after the airport itself instead of the city it serves, while another code is reserved which refers to the city itself which can be used to search for flights to any of its airports. For instance: Beijing (BJS) – Capital (PEK) and Daxing (PKX) Belo Horizonte (BHZ) – Confins (CNF) and Pampulha (PLU, formerly BHZ) Bucharest (BUH) – Otopeni (OTP) is named after the town of Otopeni where the airport is located, while the city also has a business airport inside the city limits named Băneasa (BBU). Buenos Aires (BUE) – Ezeiza (EZE) is named after the suburb in Ezeiza Partido where the airport is located, while Aeroparque Jorge Newbery (AEP) is in the city proper. Chicago (CHI) – O'Hare (ORD), named after Orchard Field, the airport's former name, Midway (MDW), and Rockford (RFD). Jakarta (JKT) – Soekarno–Hatta (CGK) is named after Cengkareng, the district in which the airport is located, while the city also has another airport, Halim Perdanakusuma (HLP). JKT used to refer to the city's former airport, Kemayoran Airport, which closed down in the mid-1980s. London (LON) – Heathrow (LHR), Gatwick (LGW), City (LCY), Stansted (STN), Luton (LTN), and Southend (SEN) Milan (MIL) – Malpensa (MXP), Linate (LIN), and Orio al Serio (BGY) Montreal (YMQ) – Trudeau (YUL), Mirabel (YMX), and Metropolitan (YHU) Moscow (MOW) – Sheremetyevo (SVO), Domodedovo (DME), Vnukovo (VKO), Zhukovsky (ZIA), business airport Ostafyevo (OSF), and military air base Chkalovsky (CKL) New York City (NYC) – John F. Kennedy (JFK) → formerly Idlewild Airport (IDL), LaGuardia (LGA), and Newark (EWR) Osaka (OSA) – Itami (ITM, formerly OSA), Kansai (KIX), and Kobe (UKB) Paris (PAR) – Orly (ORY), Charles de Gaulle (CDG), Le Bourget (LBG), and Beauvais (BVA) Rio de Janeiro (RIO) – Galeão (GIG) and Santos Dumont (SDU) Rome (ROM) – Fiumicino (FCO) and Ciampino (CIA, formerly ROM) São Paulo (SAO) – Congonhas (CGH, formerly SAO), Guarulhos (GRU), and Campinas (VCP)