Airports

IATA vs ICAO airport codes, explained

Most airports have a three-letter code for tickets and bags and a four-letter code for pilots and controllers. Here is what each one is for, how they differ, and how to read them.

By Thin Air Studios · Published 27 October 2026 · 6 min read

Look at a boarding pass and you will see one code for each airport, such as LAX. Look at a flight tracker or a weather report and the same airport may appear as KLAX. Both are right. They are two different systems, made by two different organisations, for two different groups of people.

This guide explains what each code is for, how the letters are chosen, where the two systems disagree, and why the game lets you type either one.

The short version

  • IATA codes have three letters. They are used for tickets, baggage tags and timetables, the things passengers see. The International Air Transport Association assigns them.
  • ICAO codes have four letters. They are used for flight plans, air traffic control, weather reports and the safety notices that pilots read. The International Civil Aviation Organization sets the system, and each country's authority assigns the codes in its territory.

If you are a passenger, you mostly meet the IATA code. If you are a pilot, a controller or a weather forecaster, you mostly meet the ICAO code.

What the IATA code is for

The IATA code is a commercial identifier. It appears on booking systems, on the luggage tag that goes around your suitcase, and in the timetable that tells you when your flight leaves. The people who sell tickets and move bags need a short code they can type quickly and that is hard to confuse.

Three letters give a limited set, so the codes are chosen with care. Many follow the airport or city name, as with ATL for Atlanta or SFO for San Francisco. Others come from an older name, or from a letter pattern that was free when the code was assigned. Some codes do not match the airport's name at all. Dubai's international airport, for example, is DXB, and Istanbul Airport is IST.

A few IATA codes stand for a whole city rather than one airport. A "metropolitan" or city code can group several airports, so a ticket to one of them can be booked under the shared code. You will see codes like NYC and LON used this way.

What the ICAO code is for

The ICAO code is the one used by the people who run the sky. It goes into a flight plan, into the air traffic control system, into the weather report for the airport and into the notices that warn pilots of closed runways or hazards. Those are safety messages, so the code has to be unambiguous across the world.

The four letters are assigned under ICAO's system of location indicators, which are published in a document called Doc 7910. The first letter, or the first two, tells you the broad region or country. The rest is chosen within it.

  • K is the contiguous United States. KJFK is New York JFK, KLAX is Los Angeles and KATL is Atlanta.
  • PA is Alaska and PH is Hawaii, so Honolulu is PHNL.
  • C is Canada. Toronto Pearson is CYYZ.
  • E covers much of northern Europe, and the second letter names the country. EG is the United Kingdom, so London Heathrow is EGLL. EH is the Netherlands, so Amsterdam is EHAM. ED is Germany.
  • L covers much of southern Europe. LF is France, so Paris Charles de Gaulle is LFPG. LT is Turkey, so Istanbul Airport is LTFM.
  • Z is China, so Beijing Capital is ZBAA and Shanghai Pudong is ZSPD.
  • RJ is Japan, so Tokyo Haneda is RJTT.

These patterns help you guess a code, but they are not rules you can rely on for every airport. Always check the official source when it matters. ICAO's own publication is the reference. ICAO Doc 7910, Location Indicators

Why the two codes often look different

The two systems were built separately, so there is no direct link between them. Some airports have the same letters in both, and many do not. Here are the busiest airports in the world, from the game's list, with both codes.

Look at the rows. Atlanta's ICAO code is KATL, which is the IATA code ATL with a K in front. That pattern works for many US airports, but not for all of them. Dubai is OMDB in ICAO and DXB in IATA. Tokyo Haneda is RJTT and HND. Shanghai Pudong is ZSPD and PVG. Anyone who tries to build one code from the other will get it wrong sometimes.

Not every airport has both

Many airports have only one of the two codes, or none at all. Large airports almost always have both. Small airports, grass strips, heliports and private fields may have an ICAO code only, because they carry no scheduled passengers and so no commercial code is needed. In the game's airport list, about three in four of the airports with maps have an IATA code. The rest rely on the ICAO code alone.

If you need an airport that has no IATA code, search by its ICAO code, its name or its city. The airport still has a precise identity. It simply does not appear on a ticket.

Airline codes work the same way

The same two-system split applies to airlines, which is why flight numbers look different on a ticket and on the radio. Delta is DL in IATA and DAL in ICAO. British Airways is BA and BAW. The IATA flight number on a ticket might be DL123. The ICAO callsign that a controller uses on the radio is DAL123, spoken as "Delta one two three".

That is why radio calls use the ICAO airline code, read out as a word such as "Delta". The telephony names are designed to be clear over a noisy channel. ICAO

How Short Final uses both

Short Final accepts either code. Type LAX or KLAX into the search box and you get the same airport. The game's home screen, its maps and its radio all use the ICAO code internally, because that is the code the controllers and the weather report use. The IATA code appears where it helps a player recognise the airport.

The game also shows the same airport by its name and city, so you can search for "Heathrow" or "Atlanta" if you do not know the code. The search keeps a list of every airport in the source data, which includes some codes that are used by more than one row, so a search can show two results for one code.

Reading codes on a weather report

Weather reports for pilots use the ICAO code at the start of the report. A report beginning "METAR KSEA" is for Seattle-Tacoma, and the IATA code SEA never appears in it. Once you know that, a weather report becomes much easier to read, because the first word tells you which airport it is for.

The game uses real weather reports from the same public service, for the airport you pick. Every time you choose an airport in Short Final, the game looks up its ICAO code, and that is why the same code shows up across the app.

What to remember

  • IATA codes have three letters and are for tickets, bags and timetables. ICAO codes have four letters and are for flight plans, controllers and weather.
  • The ICAO code often starts with a regional letter: K for the contiguous United States, E for northern Europe, Z for China.
  • The two codes often differ, so do not build one from the other without checking.
  • Small airports may have an ICAO code only. Short Final accepts either code in search.

Sources

Keep reading

  • The world's busiest airports, by passengers: Atlanta tops the world's list of busiest airports by passengers in ACI World's 2025 results. Here are the 50 busiest, what the ranking counts, and why it is not the same as the number of planes.
  • ATC phraseology for beginners: Pilots and controllers use a short, fixed set of words so that every call is clear over a crackly radio. Here are the phrases you will hear most, what they mean and how a call is built.
  • How live flight tracking works: Live flight maps show planes because the planes broadcast their own position. Here is how ADS-B, radar and the OpenSky network work, where the data falls short, and how the game uses it.
  • All guides