The ICAO 24-Bit Allocation Framework
The International Civil Aviation Organization (ICAO) manages the global distribution of transponder addresses using a structured 24-bit binary framework. This system provides a total of 16,777,214 assignable values worldwide. Rather than assigning individual codes directly to every aircraft, ICAO distributes blocks of addresses to member states, regional authorities, and special administrative categories.
Each country or registering authority receives a specific range of addresses defined by a fixed binary prefix. The size of the allocated block depends on the length of this prefix. Larger nations with extensive aviation registries receive blocks with shorter prefixes, leaving more variable bits available for individual aircraft assignments. Smaller nations or territories receive blocks with longer prefixes and fewer assignable addresses.
The Aircraft Mode S Code Decoder acts as an offline-style structural decoder of this published allocation range. It translates the 24-bit address to identify the responsible country or registering authority block, the binary prefix structure, the full address range, and the specific position of the entered address within that block. It does not perform live flight tracking, operator lookups, or active aircraft registry queries.
Binary to Hexadecimal Translation in Aviation
In aviation transponders, the 24-bit binary address is represented as a six-digit hexadecimal code for easier reading and entry. Hexadecimal notation uses sixteen symbols: digits 0–9 and letters A–F (case-insensitive). Each hexadecimal digit represents exactly four bits of the 24-bit binary address.
The tool accepts various input formats to accommodate different data sources. Users can input the six-digit code with spaces, hyphens, or an optional 0x prefix. The decoder strips these formatting characters during processing to isolate the core hexadecimal digits.
Input Validation Rules
To ensure accurate decoding, the tool enforces strict validation rules on the input:
- If the input contains characters outside of the hexadecimal range, the tool displays the exact error:
Use only hexadecimal digits 0–9 and A–F. - If the input does not contain exactly six hexadecimal digits (excluding accepted spaces, hyphens, or the
0xprefix), the tool displays the exact error:A 24-bit Mode S address needs exactly six hexadecimal digits.
Fixed Prefixes vs. Assignable Bits
The mathematical structure of an ICAO address block is defined by two components: the Fixed allocation prefix and the Assignable bits.
| Component | Description |
|---|---|
| Fixed allocation prefix | The fixed binary bit prefix assigned to the block by ICAO. |
| Assignable bits | The variable bits remaining in the 24-bit address for individual assignments. |
The number of assignable bits determines the total capacity of the block. For example, if a block has a 14-bit fixed prefix, it leaves 10 assignable bits, resulting in 2¹⁰ (1,024) unique addresses. The tool calculates and displays the Addresses in block alongside the specific Position in block to show exactly where the entered address sits within that authority's range.
Special and Reserved ICAO Blocks
Not all address blocks are assigned to specific countries. ICAO reserves certain ranges for administrative, temporary, or regional purposes. When decoding an address, the Allocation block output may display one of several special categories:
ICAO temporary assignment blockICAO special-use block‹region› regional spare blockReserved for future useNo published allocation in this tableNot assignable as an aircraft address
These classifications ensure the global addressing system remains flexible enough to accommodate shifting regional demands and future aviation technologies without exhausting the 16.7-million-address space.
Transponder Misconfiguration Risks
Within the 24-bit addressing scheme, certain patterns are restricted. The all-zero (000000) and all-one (FFFFFF) patterns are not assignable as aircraft addresses.
If an aircraft transponder transmits an all-zero address, it is flagged by the tool as Not assignable as an aircraft address. In practical operations, an all-zero address is a critical indication of an incorrect transponder configuration. Avionics technicians and maintenance personnel use this detection to troubleshoot installation errors, as unconfigured or misconfigured transponders pose significant risks to airspace safety and situational awareness.
Static Allocation vs. Dynamic Registry Data
It is important to distinguish between static allocation data and dynamic registry databases. A successful block match only identifies the authority that ICAO allocated the address block to. It does not prove current registration, nor does it serve as an active aircraft lookup.
│
└── (Does NOT query live registries)
Transponders can be misconfigured, duplicated, or left unchanged after an aircraft registration transfer. Consequently, the physical aircraft carrying the transponder might no longer belong to the country indicated by the decoded block. The tool does not display a flight, tail number, operator, owner, location, or current registry record.
Privacy and Processing
The Aircraft Mode S Code Decoder processes the address directly in your browser, and nothing is uploaded to BroBroGo.
Frequently Asked Questions
What does a country or authority match tell me?
It tells you which address block ICAO allocated to that State or registering authority. It does not prove the aircraft is currently registered there: a transponder can be misconfigured, duplicated or left unchanged after a registration change.
Can this identify the aircraft or its flight?
No. A 24-bit address can be matched against a separate aircraft registry, but this decoder does not query registries, operators or live tracking services. It only explains the published allocation range.
Why are 000000 and FFFFFF not assignable?
The worldwide scheme has 16,777,214 assignable values, excluding the all-zero and all-one patterns. ICAO guidance also warns that an all-zero address can indicate incorrect transponder configuration.