My web site has all of this info for every airport edited. It is sorted by country.
IATA codes are mostly for airports with commercial ops while ICAO are for airfields with any kind of traffic i.e. GA or military for example Joint Andrews AFB which has ICAO KADW. Note there are some few airports with different ICAO codes from the normal eg Laikipia Air base in Kenya uses KE-0075 instead of using the normal HK- code for Kenya
The first letter is of the region then the second is for the country then third and fourth digits are for the airport. In areas like Canada or Australia the first digit is for the region e.g C for Canada region then the rest of the digits use the city code e.g YVR for Vancouver so CYVR is the code which is conceived for the largest airport in Vancouver.
Thanks this is really help ful
this sort of logic falls short when you look at 2 other london airports.
london gatwick is egkk
london stansted is egss
your logic states that those 2 airports should be EGLG and EGLS respectively
i love the thought process behind it all but it doesnt quite work.
Gatwick and Stanstead aren’t actually in greater London.
That won’t matter much.