Airports have two different code systems: ICAO (4 letters) and IATA (3 letters). Understanding which to use prevents confusion in aviation and travel applications.
IATA Codes
IATA codes are 3-letter codes assigned by the International Air Transport Association. Examples: JFK (New York JFK), LAX (Los Angeles), LHR (London Heathrow). These are used on boarding passes, baggage tags, and consumer-facing travel systems. Not all airports have IATA codes—only commercial airports with airline service.
ICAO Codes
ICAO codes are 4-letter codes assigned by the International Civil Aviation Organization. Examples: KJFK, KLAX, EGLL. The first letter indicates the region (K=contiguous US, E=Northern Europe, Y=Australia). Used in flight plans, air traffic control, and aviation operations. All airports have ICAO codes, including small airfields.
Regional Prefixes
ICAO first letters indicate region: K=USA (except Alaska/Hawaii), C=Canada, E=Northern Europe, L=Southern Europe, V=South Asia, Z=China, Y=Australia, R=Korea/Japan/Philippines. This makes ICAO codes regionally identifiable at a glance.
Which to Use
Use IATA codes for consumer-facing applications (booking engines, travel apps). Use ICAO codes for aviation applications (flight planning, ATC systems, pilot tools). Many APIs accept both but may internally convert to one standard—check documentation.