Airports

Airport codes decoded: IATA, ICAO and city codes

Airports have two main codes. The three-letter IATA code (LHR, DXB, LHE) is the one on your ticket. The four-letter ICAO code (EGLL, OMDB, OPLA) is used for flight operations. Some cities also have a code that covers all their airports.

By

Editorial author, Your Flight Help

Updated Facts reviewed

Airport codes are short identifiers for airports. Most airports with scheduled flights have two: a three-letter IATA code, which you see on tickets, bags and departure boards, and a four-letter ICAO code, which pilots, air traffic control and flight plans use. Some large cities also have a city code that groups all their airports together.

Look up any airport by name, city or code in our airport code finder.

IATA and ICAO side by side

IATA code ICAO code
Length 3 letters 4 letters
Example (London Heathrow) LHR EGLL
Example (Lahore) LHE OPLA
Issued by International Air Transport Association, an airline trade body International Civil Aviation Organization, a UN agency
Used for Tickets, bookings, baggage tags, timetables Flight plans, air traffic control, navigation, weather reports
Covers Airports airlines serve, plus some rail, bus and ferry stations and city groupings Aerodromes of all kinds, commercial and non-commercial
Structure No fixed geographic pattern First letter(s) show the region and country

IATA codes are assigned under IATA Resolution 763, whose main aim is that each code is unique. IATA’s database covers around 12,000 locations, and includes train stations and ferry ports where airlines sell connections to them, as well as metropolitan areas.

ICAO codes are published in ICAO’s Location Indicators (Doc 7910), updated in quarterly editions. ICAO stresses stability, so codes change only after due consideration. Because they serve flight operations, ICAO codes are issued to many airfields that never see an airline, which is why far more places have an ICAO code than an IATA one.

Reading an ICAO code

ICAO codes are built geographically. The first letter is a region, and the first two letters usually identify a country:

Code Airport What the prefix tells you
EGLL London Heathrow E = northern Europe, EG = United Kingdom
LFPG Paris Charles de Gaulle L = southern Europe, LF = France
KJFK New York JFK K = contiguous United States
CYYZ Toronto Pearson C = Canada
OMDB Dubai International O = Middle East and Pakistan, OM = United Arab Emirates
OPKC Karachi Jinnah OP = Pakistan
OTHH Doha Hamad OT = Qatar
RJTT Tokyo Haneda RJ = Japan

In the US and Canada, the ICAO code is often the IATA code with K or C in front. That shortcut doesn’t work elsewhere: Dubai is DXB and OMDB.

IATA codes don’t always look like the city

Many IATA codes are obvious (DXB for Dubai, DOH for Doha). Others come from an airport’s old name, a nearby town, or simply what was free when the code was assigned. ISB for Islamabad is intuitive; JED for Jeddah is close enough; others are harder to guess. Never assume a code from a city name. Look it up.

City codes: one code, several airports

For cities with more than one airport, IATA also assigns a metropolitan area code. Search with it and booking sites show flights to all of that city’s airports:

City code City Main airports it covers
LON London LHR, LGW, STN, LTN, LCY
NYC New York JFK, LGA, EWR
PAR Paris CDG, ORY
TYO Tokyo HND, NRT
YTO Toronto YYZ, YTZ

City codes are useful for searching, but your actual ticket always names a specific airport. Check which one before you plan transfers: Stansted and Gatwick, both sold as “London”, are more than 80 km apart.

Some cities with two airports don’t share a city code in everyday booking. Dubai’s main airport is DXB, while Al Maktoum International, about 45 km to the south-west, is DWC. Make sure your itinerary says which.

Common mix-ups to check

  • Similar codes: LHE (Lahore) and LHR (London Heathrow); ISB (Islamabad) and IST (Istanbul).
  • Old and new airports: when a city opens a new airport, the IATA code may move to it or a new one may be issued. Check your booking, not memory.
  • ICAO codes in booking fields: booking sites expect three-letter IATA codes.
  • Airline codes mistaken for airport codes: the two letters before a flight number (EK, PK, BA) identify the airline, not a place. The airline code finder decodes them.

Our guide to reading a flight itinerary shows where each kind of code appears on a booking.

Our airport data covers 5,332 airports with IATA codes, 5,189 of them with ICAO codes too, and the airport code finder searches all of them. For how codes appear on an actual booking, see our annotated sample itinerary.

Questions people ask

Why do some airports have no IATA code?

IATA codes are for airline purposes. Airfields without airline service, such as many private and military airfields, often have only an ICAO code.

Can two airports share a code?

No airport shares its IATA code with another; uniqueness is the point of the system. A city code groups several airports, but each airport keeps its own code.

Which code should I use when booking?

The three-letter IATA code, or a city code if you’re flexible about which airport you use.

Rules for visas, entry and airline check-in change, and they differ by nationality and destination. This guide is general information, not legal or immigration advice. Always confirm with the official authority or your airline.