Solving the Mystery of Four-Letter Airport Codes

Feb 11, 2018

This post contains references to products from one or more of our advertisers. We may receive compensation when you click on links to those products. Terms apply to the offers listed on this page. For an explanation of our Advertising Policy, visit this page.

You’re sitting in first class on an Air France Boeing 777, headed from New York JFK to Paris’ Charles de Gaulle airport. The boarding pass in a pocket of the jacket a flight attendant just hung up in the closet for you says, of course, JFK to CDG: the familiar three-letter codes that every frequent flyer knows.

But just a few feet ahead of you, on the flight deck, the flight plan in front of the captain’s eyes says your destination is LFPG. And tomorrow, when the airplane you’re on will fly from Paris to Tokyo’s Haneda airport, that flight plan will say the destination is RJTT, not HND. And what about EGLL, YSSY and MMMX? You know them better as London Heathrow, Sydney and Mexico City.

Those are the four-letter codes used by ICAO, the United Nations’ International Civil Aviation Organization, to identify airports instead of the more common three-letter designations used by IATA, the International Air Transport Association. Sometimes you’ll bump into those mysterious four letters on forums where frequent flyers hang out, such as Flyertalk, or maybe a friend of yours who’s an especially hardcore aviation geek will refer to plain old O’Hare as KORD. What’s up with that? Here’s all you need to know.

How We Got Here  

To better understand the jumble of letters and codes, we have to travel a few decades back in time.

When World War II was ending, governments came round the idea that the nascent commercial aviation industry could do with a higher degree of standardization. So of two major aviation organizations were created that would play a major role in the consolidation of civilian aviation over the decades: ICAO and IATA.

You may be forgiven for mixing them up: after all they are both based in Montreal and often work on the same issues, but they are two beasts of a rather different nature. While ICAO is an international organization under the auspices of the United Nations, IATA is a trade association that looks after the interests of the airline industry.

Each of them came up with its own code system, based on its own separate logic, to identify airports around the world. And this is where things got messy.

When do you use which code? Roughly: the three-letter IATA codes are used by airlines for commercial purposes and in passenger-facing activities. The four-letter ICAO codes appear in technical documents, such as flight plans. So you’re far more likely as a passenger to encounter the former — but you’re far more likely to impress an aviation enthusiast if you know the latter.

What’s Behind ICAO Airport Codes?

The ICAO system has a distinct advantage: It identifies an airport’s location, anywhere in the world. That’s because the first letter designates a “region,” the second letter designates a country and the remaining two represent a specific airport.

Zoom in a bit, though, and the system gets a little more complex.

For a starter, regions are delimited in a somehow arbitrary way. Europe, for example, is divided in roughly two zones — North, using “E” as identifier, and South, using “L”. Africa, in turn, is divided in four large regions, and some very large countries, such as China, Russia or Australia, have a “region” i.e. a letter all their own. (Z, U and Y respectively, if you’re wondering.)

As a rule of thumb, the second letter of the code designates the country or, in the case of large countries, a specific area within that country. In either case, the second letter often, although not always, also overlaps with a Flight Information Region (FIR), that is, the different zones in which the global airspace is divided for navigational purposes.

Thus, London Heathrow is EGLL: where E for Northern Europe, G for Great Britain, and LL identifying Heathrow. London’s other big international airport is EGKK, and looking at the other airports in the London area, EGSS is Stansted, Luton is EGGW, and London City EGLC. See a pattern?

Aerial view (looking northwards from control tower) showing expanse of airport land with airliners at London Heathrow. A Virgin Atlantic 747 comes to a halt after landing and a Canadian airliner is parked at a gate on a site that covers 12.14 square kilometres (4.69 sq mi). London Heathrow is a major international airport, the busiest airport in the United Kingdom and the busiest airport in Europe by passenger traffic. It is also the third busiest airport in the world by total passenger traffic, (Photo by In Pictures Ltd./Corbis via Getty Images)
Welcome to EGLL! (Photo by In Pictures Ltd./Corbis via Getty Images)

Over in China, Shanghai Pudong would be ZSPD, and Beijing International ZBAA, with Z corresponding to the whole of China and S and B being aviation regions within it.

This apparently intuitive naming pattern has its most remarkable exceptions in North America, where Canada uses the letter C and the contiguous United States the letter K — followed by your run of the mill three-letter code. So New York has KJFK, KLGA and KEWR, for JFK, LaGuardia and Newark. (Beware of Alaska and Hawaii, which use P: hence PANC and PHNL for Anchorage and Honolulu.)

In Canada, just put a C before the three-letter code, hence CYVR (Vancouver) or CYYZ (Toronto Pearson.)

Here are some examples to help make sense of how ICAO codes work:

Region Example countries Example airports
K- United States (Contiguous 48) KATL (Atlanta – Hartsfield Jackson)

KLAX (Los Angeles)

C – Canada CYYZ (Toronto Pearson)
E- Northern Europe EG (Great Britain), EI (Ireland), EN (Norway), ES (Sweden) EIDW (Dublin)

ESSA (Stockholm –  Arlanda)

L- Southern Europe LF (France), LE (Spain), LI (Italy), LT (Turkey) LFPG (Paris – Charles de Gaulle)

LEBL (Barcelona)

B- Greenland, Iceland & Kosovo BI (Iceland) BIKF (Keflavik International, Iceland)
S- South America SA (Argentina), SC (Chile)

SB, SD, SN, SS, SW (Brazil)

SBGR (Sao Paulo – Guarulhos)
U- Russia & Former Soviet Union UL, UU,UW, UR, US, UO, UN, UI, UE, UH (Russia) UUEE (Moscow – Sheremetyevo)

UHWW (Vladivostok International)

Z- China & Mongolia ZY, ZB, ZS, ZG, ZP, ZU, ZW (China) ZSPD (Shanghai Pudong)

ZBAA (Beijing International)

Y- Australia / YSSY (Sydney)

YMML (Melbourne)


The ICAO system has also been flexible enough to accommodate some particular cases, such as Kosovo. When the new nation was born, all L combinations were already taken, so the Southern European country  ended up in the B”region, bundled together with Iceland and Greenland. Some British and French overseas possessions use European codes, rather than the code of the continent they are in.

IATA Codes…

In comparison, IATA codes sound simpler and are easier to remember. You don’t need to be an hardcore aviation fan to know that BOS is Boston and CPH is Copenhagen. Even when it’s not super intuitive, a city code often makes it into popular culture: Many know that BNA is Nashville, and locals in Portland, Oregon, will routinely refer to their city as PDX. (Which, you know by now, pilots will refer to as KBNA and KPDX.)

But these codes do not provide a geographical context, and this makes it difficult to locate an airport if you are not familiar with it.

Most of us may be able to recall what LHR stands for, but look at the codes preceding and following it alphabetically. Would you be able to locate LHP and LHS as easily? You may be forgiven for not knowing Lehu, in Papua New Guinea, and Las Heras, a small airport in Argentina.

This is perhaps one of the reasons aviation authorities, flight traffic control and pilots tend to use ICAO codes in their day to day business and documents. Passengers may be prone to confusing Dublin (DUB) with Dubai (DXB), but pilots will not mistake EIDW for OMDB.

… and Having Fun With Them

IATA codes are used wherever communication with the general public is involved, such as in flight schedules, boarding passes and baggage tags.

But they have a potential as something else: marketing tools.

No better example of this than Sioux City, Iowa, where, after fruitless attempts to change their SUX airport code, locals finally embraced it and turned it into the “Fly SUX” brand.

And the four-letter code FYOE may not exactly inspire an advertising campaign, but things might change when you look at the three-letter designator: OMG! Come visit Omega, Namibia!

Featured image of Newark Liberty International Airport by James Leynse/Corbis via Getty Images

Editorial Disclaimer: Opinions expressed here are the author’s alone, not those of any bank, credit card issuer, airlines or hotel chain, and have not been reviewed, approved or otherwise endorsed by any of these entities.

Disclaimer: The responses below are not provided or commissioned by the bank advertiser. Responses have not been reviewed, approved or otherwise endorsed by the bank advertiser. It is not the bank advertiser’s responsibility to ensure all posts and/or questions are answered.