What are ICAO codes, Idents and Squawk codes?
Whether you view aircraft data in FlightAware’s Skyview (via your PiAware or FlightFeeder device) or through other software, you have probably come across the “ICAO code,” “Ident,” and “Squawk” data fields. If you’re not really sure what these fields mean and how they are used, then this month’s newsletter will help!
The ICAO code is intended to be a globally unique identification number for each physical aircraft. Codes are assigned by regulatory agencies in each country to aircraft that are registered in that country. Some countries have a pattern or formula for determining the code while others may appear to be randomly assigned. A range of numbers is assigned by ICAO to each country and this is how Skyview knows what country’s flag to display. The code typically changes if the aircraft’s registration number changes but this depends on the policy of each country.
The important thing to us is that the ICAO code lets us know that we are receiving data from a specific aircraft. Skyview includes a database of known codes and their corresponding aircraft registration (“tail number”). When Skyview finds a match, it will display the known registration in the “Registration” field (other software usually works similarly). ICAO codes can represent big numbers so they are most commonly written in hexadecimal format which keeps them to 6 alphanumeric digits. As a result of this convention you may hear or see them referred to as simply the aircraft “hex code.” The code is programmed into the aircraft’s Mode S or ADS-B transponder when it is installed.
The “Ident” field (short for “identity”) is up to 8 characters of alphanumeric text that is intended to represent the Air Traffic Control (ATC) callsign being used by the current flight (typically a 3-character ICAO airline code followed by a flight number) or the aircraft registration (tail number) for general aviation aircraft that do not fly under an airline callsign. In some regions of the world, such as in the USA, this data is not always transmitted frequently by aircraft so it is common for the Ident field to be blank when viewed in your software. You may also note sometimes that nonsensical, funny or test messages may be entered in this field by pilots, particularly in regions where Air Traffic Control is not enforcing that the value be properly set. For flights that use an ATC callsign, the pilots will set the Ident that they will be transmitting before each flight. In some areas, particularly in Europe, the ATC callsign may be different than the published schedule’s flight number (to learn more about this, see Eurocontrol’s Call Sign Similarity Service).
The “Squawk” code is a 4-digit octal number that is assigned by Air Traffic Control, typically before a flight departs. The pilots will enter the assigned Squawk code into their transponder. Squawk codes are part of the older Mode A transponder system used with traditional radar surveillance and are still used today for compatibility with legacy radar surveillance systems. Squawk codes are not globally unique and their assignment is coordinated by ATC to avoid aircraft in the same area having the same code assigned. Most of the time the Squawk code is not very interesting to casual observers as it typically appears to be a random number. However, there are special Squawk codes assigned by ATC in specific regions that may tell you something about the flight. For example, “1200” in the USA means the flight is flying under Visual Flight Rules (VFR) and is not typically in direct contact with ATC. Other special codes can be used to designate emergency situations.
It is important to realize that decoding of Squawk codes can be unreliable in consumer-grade receivers because of the way the code is transmitted. For example, this means that you may briefly see an emergency Squawk code displayed erroneously. Unfortunately there is not much we can do to prevent this issue from occurring, so always take the Squawk code with a grain of salt!