I found on this website several questions speaking of IATA, ICAO and airports codes. The fact that two identification codes for the same airport exist means there are cases where you use one, and other cases where you use the other. I wonder what is the rule to know which code (IATA or ICAO) should be used.


It helps to know the objective of both ICAO and IATA to understand when which code is used.

ICAO (International Civil Aviation Organization) is a UN-body which focusses on international harmonization of civil aviation regulations.

ICAO codes are used for "official" purposes such as Air Traffic Control; E.g. flight plans use ICAO codes for airports and airline flight identification.

IATA (International Air Transport Association) is a trade association that focusses on making air traffic businesses safe, secure, reliable and efficient.

IATA codes are mainly used for ticketing. E.g. travel itineraries use IATA codes for airports and IATA flight numbers.

  • 4
    $\begingroup$ This follows somewhat from the objectives of the two organisations. The International Civil Aviation Organisation is focused on civil aviation regulations. The International Air Transport Association is a trade association for airlines. $\endgroup$ – RedGrittyBrick Sep 26 '14 at 14:17
  • $\begingroup$ choosen as better answer because (i) it answer the question (ii) it is the only answer and (iii) the comment from @RedGrittyBrick add good clarification to the answer. $\endgroup$ – Manu H Oct 13 '14 at 17:37
  • $\begingroup$ @ManuH I've included RedGrittyBrick 's comment in the text. Thanks both. $\endgroup$ – DeltaLima Oct 13 '14 at 18:18
  • 2
    $\begingroup$ The IATA codes are 3-letter codes, since the number of commercial airports worldwide is enough that 3 letters are enough: DFW, LHR, NRT, etc. The ICAO codes cover more airports, so they're 4 characters with the first (USA) or first two (most of the rest of the world) describing the region, and the last two unique to the airport there: DFW (IATA) = KDFW (ICAO) {K=USA}, LHR (IATA) = EGLL (ICAO) {since EG = Europe/Great Britain), and NRT = RJAA (RJ = East Asia/Japan). Your ticket might say DFW-LHR, but flightplan is filed KDFW-EGLL. $\endgroup$ – Ralph J Aug 1 '15 at 16:36
  • $\begingroup$ While pretty much all airports has an ICAO code, many smaller and non-serviced ones does not have an IATA. For example, look at small, unusual, high altitude airports. Basically, if they are marked on a flight map, it probably has an ICAO.With the obvious exception of countries/territories not conforming to int'l standards/rules. $\endgroup$ – not2qubit Feb 6 '18 at 21:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.