What Is Airline Load Factor? Why Planes Are So Full Now
Airline load factor is the share of seats an airline fills. How it's calculated, why it hit a record 83.6% in 2025, and what a full plane doesn't tell you.
IATA vs ICAO airport codes explained: why airports have a three-letter and a four-letter code, who assigns each, where they're used, and why LAX has an X.

Look at the tag on your checked bag after a flight to London and it says LHR. Ask the pilot where they filed the flight plan to, and they’ll say EGLL. Same airport — Heathrow, which handled a record 83.9 million passengers in 2024 (Wikipedia: Heathrow Airport) — two completely different codes.
The short answer: IATA airport codes are three letters, assigned by IATA, the airlines’ association, for tickets, timetables and baggage. ICAO airport codes are four letters, assigned through ICAO, the International Civil Aviation Organization, for air traffic control and flight planning. Most big airports have both.
| IATA code | ICAO code | |
|---|---|---|
| Length | 3 letters | 4 letters |
| Example | LHR | EGLL |
| Who sets it | IATA (Resolution 763) | ICAO (Doc 7910, Location Indicators) |
| Used for | tickets, timetables, bag tags | flight plans, air traffic control, weather |
| Built from | usually the name of the city or airport | region + country + airport |
Sources: Wikipedia: IATA airport code; Wikipedia: ICAO airport code.
IATA — the International Air Transport Association — governs its codes under Resolution 763, administers them from its Montreal headquarters, and publishes them twice a year in the Airline Coding Directory. They’re the codes passengers meet: “mainly used for passenger services such as tickets and checked luggage” (Wikipedia: IATA airport code).
ICAO — the International Civil Aviation Organization — publishes its codes in Document 7910, Location Indicators, updated every quarter. These are the codes air traffic control, flight planning and weather stations use (Wikipedia: ICAO airport code).
An IATA code is a label; an ICAO code is an address. It reads from the general to the specific: the first letter is a region of the world, the first two letters usually narrow it to a country, and the rest picks out the airport.
So E is northern Europe and EG the United Kingdom; K is the contiguous United States, C Canada, Y Australia, and Z China (shared with Mongolia and North Korea). Countries choose their own codes within that framework, and there are political exceptions: the RAF base at Mount Pleasant in the Falklands is EGYP, a British prefix far from Britain (Wikipedia: ICAO airport code).
In the contiguous US and in Canada, the shortcut is easy: many ICAO codes are just the IATA code with a prefix. IAD (Washington Dulles) becomes KIAD; YEG (Edmonton) becomes CYEG.
The rule breaks for Alaska (PA), Hawaii (PH) and US territories — Kahului, Hawaii, is OGG to IATA but PHOG to ICAO — and almost everywhere outside North America.
ICAO’s alphabet has a few house rules of its own. No code starts with I, Q or X, and J is unused apart from JZRO, assigned ceremonially to the spot on Mars where the Ingenuity helicopter first took off. And when a flight plan has to name an airfield that has no ICAO code at all, pilots write the placeholder ZZZZ.
The odd IATA codes are where the history hides (Wikipedia: IATA airport code):
Codes usually survive a rename, as PEK and BOM show. And three letters allow at most 17,576 combinations — one reason so many codes use letters that aren’t in the airport’s name. Some airports have more than one — EuroAirport Basel-Mulhouse-Freiburg answers to BSL, MLH and EAP — and big cities get a city code covering all their airports, like LON, NYC and PAR. And far more airfields have an ICAO code than an IATA one.
ICAO codes describe airports; aircraft types have their own pair of IATA and ICAO codes, with the same split between commercial and operational use.
If you’re booking, tracking a bag or reading a departures board, it’s IATA. If you’re reading a flight plan, an air traffic control message or an airport weather report, it’s ICAO.
Airline schedules sit on the IATA side: a SSIM schedule file names every departure and arrival airport by its three-letter code, and those codes are what turn a schedule into a route map. SSIM Toolkit reads them that way when it opens a schedule.
Sources