Codes & reference data

Airport codes explained

Why airports have three-letter and four-letter codes, what each system is for, why some codes bear no resemblance to the city, and how city codes differ from airport codes.

Published 5 February 2026 · Updated 6 September 2026

Every airport you will encounter on an itinerary carries at least two codes, issued by two different organisations for two different purposes.

IATA codes: three letters, for passengers

The three-letter code — LHR, JFK, DXB — is issued by the International Air Transport Association. It is the code used in everything passenger-facing: tickets, itineraries, baggage tags, departure boards and booking sites.

There are roughly 9,000 of them, and they must be globally unique, which is the source of most of the oddities.

ICAO codes: four letters, for operations

The four-letter code — EGLL, KJFK, OMDB — comes from the International Civil Aviation Organization. It is used in flight plans, air traffic control, weather reporting and aeronautical charts.

ICAO codes are regional and systematic in a way IATA codes are not. The first letter or two encode a region:

PrefixRegion
KContiguous United States
CCanada
EGUnited Kingdom
EHNetherlands
EDGermany
LFFrance
LESpain
LIItaly
OMUnited Arab Emirates
OTQatar
RJJapan
VINorthern India
WSSingapore
YSEastern Australia

This is why KJFK, KLAX and KORD all begin with K, and why EGLL, EGKK and EGCC are all British. The airport lookup searches both systems.

Why some codes make no sense

The three-letter codes with no obvious relationship to their city each have a reason, and the reasons fall into recognisable patterns.

They are named after something other than the city. CDG is Charles de Gaulle. JFK is John F. Kennedy. LGW is Gatwick. The code follows the airport’s name, not the city’s.

The obvious code was taken. Uniqueness is global and first come, first served.

They preserve an older name. ORD is Chicago O’Hare, from Orchard Field, the airport’s name before 1949. MCO is Orlando, from McCoy Air Force Base.

They inherit a weather-station code. Many North American codes descend from two-letter National Weather Service identifiers that gained a letter when three-letter codes were adopted — which is why so many Canadian airports begin with Y.

Certain letters were reserved. In the United States, N was reserved for the Navy, W and K for radio stations. Airports that would naturally have taken those letters were pushed elsewhere: Newark became EWR, Key West EYW.

City codes vs airport codes

A distinct and frequently confusing category. Some cities have a code representing all their airports:

City codeCovers
LONLHR, LGW, STN, LTN, LCY, SEN
NYCJFK, LGA, EWR
PARCDG, ORY, BVA
TYOHND, NRT
MILMXP, LIN, BGY
MOWSVO, DME, VKO
WASDCA, IAD, BWI

Searching LON on a booking site returns flights to any London airport. It is never an airport in its own right, and it will not appear as a departure or arrival point on a real itinerary — only a specific airport code does.

Occasionally a code serves both roles. BKK is both the city code for Bangkok and the airport code for Suvarnabhumi; Don Mueang is DMK.

Why this matters when planning

Check which airport. “Flying to London” is six different answers, an hour or more apart by ground transport, and a mistake here is expensive. The same applies to New York, Paris, Tokyo, Milan and Moscow.

Watch for split-city routings. Arriving at one airport and departing from another is a legitimate plan but means a surface transfer you must arrange yourself — and, if the two flights are on separate tickets, no protection if the first is late.

Codes are not unique in the way you expect. IATA codes are globally unique; ICAO codes are too. But an airport’s name is not. There are several airports called “International Airport” in the same country. Always work from the code.

The airport directory lists the major hubs with their codes, coordinates and time zones, and the distance calculator works from codes directly.

Codes on a sample itinerary

Airport codes are one of the parts a sample itinerary can carry with complete accuracy, because they are public reference data rather than anything issued to a booking. The codes, coordinates, elevations and time zones used across this site come from the public-domain OurAirports dataset — see data sources.