ICAO 24-bit Mode-S hex decoder
Decode any ICAO 24-bit Mode-S address to its country of registration. The decoder bundles the state allocations from ICAO Annex 10 (Vol. III, Table 9-1) plus the regional reserve blocks, and converts US addresses to N-numbers with the FAA allocation algorithm. Lookup is offline and instant.
For OSINT investigations: the country block is the first piece of information about an aircraft. A hex starting with A0–AF is US-registered, 7C–7F is Australian, 78–7B is Chinese, 100000–1FFFFF is Russian. Once you know the country, you can pivot to the country's registry (FAA, CASA, EASA, etc.) for the full record.
For live position, operator, type and photo, use the pivot links in the result (ADS-B Exchange, adsb.lol, FlightAware, OpenSky, Planespotters, FAA registry) or the Flight & Ship Tracker.
Frequently asked questions
What is an ICAO 24-bit address?
A unique identifier transmitted by Mode-S and ADS-B transponders on every aircraft. Assigned by the country of registration from a block ICAO has allocated to that country. The address stays with the airframe — if the aircraft re-registers in another country, it gets a new hex.
How do I read the country block?
Each country gets a contiguous range of 24-bit values. The US has the largest block (A00000–AFFFFF, ~1M addresses, matching the size of the FAA registry). Smaller countries get tighter ranges — Iceland is 4CC000–4CCFFF (4096 addresses). The decoder above shows which range your hex falls into.
How is the hex related to the tail registration?
Most countries don't encode the registration in the hex — a registry table maps each hex to a tail number. The US is the exception: N-numbers and hex are mathematically convertible (FAA documents the algorithm), and this decoder computes the N-number for any US address, or the hex for any N-number you enter.
What does "F0xxxx" mean?
The F0xxxx range is reserved by ICAO for temporary or special use — flight test aircraft, anonymised flights (privacy ICAO addresses), and certain operational categories. Often used for high-profile flights that don't want to be tracked by name; the hex still transmits but doesn't resolve to a registry.
Can I tell if it's a military aircraft?
Country block alone doesn't tell you. Each country has internal sub-allocations for military vs civil that aren't public. The volunteer-maintained
tar1090-db aggregates known military hex blocks across countries. This decoder flags the well-known US military block (AE0000–AEFFFF).