ICAO vs IATA: Airport Codes Explained
5 min read
Almost every airport has two different codes, and they exist for two different audiences. The one you see on a boarding pass or baggage tag — like LHR or JFK — is the IATA code. The one pilots and air-traffic control use — like EGLL or KJFK — is the ICAO code. Once you know the difference, both tell you something useful.
IATA codes — 3 letters, for passengers and cargo
IATA (the International Air Transport Association) assigns three-letter codes used throughout the commercial travel industry: tickets, baggage handling, booking systems and timetables. They are usually mnemonic — LHR for London Heathrow, SYD for Sydney, DXBfor Dubai — though history makes some of them cryptic (Chicago O’Hare is ORD, after its old name Orchard Field). Because there are only 17,576 possible three-letter combinations, IATA codes are reserved mainly for airports with commercial passenger or cargo service.
ICAO codes — 4 letters, for operations
ICAO (the International Civil Aviation Organization) assigns four-letter codes used for flight planning, air-traffic control and official aviation documents. Unlike IATA codes, they are structured by region: the first letter (or two) identifies a part of the world, so you can read geography straight from the code:
- K — contiguous United States (KJFK, KLAX)
- EG — United Kingdom (EGLL, EGKK)
- LF — France · ED — Germany · LE — Spain
- RJ — Japan · VH — Hong Kong · Y — Australia
Because the four-letter space is far larger and globally coordinated, almost every airfield — even small ones with no airline service — has an ICAO code, while only a subset have IATA codes.
Which one should you use?
If you are booking a flight or tracking a bag, you want the IATA code. If you are flight-planning, reading a NOTAM, or looking an airport up in an aviation database, you want the ICAO code. On The Port Index we list both on every airport page, so whichever you have, you can find the airport.
Seaports have their own equivalent — the five-character UN/LOCODE. You can browse airports by country to see the codes in context.