Free delivery on every order · No minimum

Free tool

ADS-B message decoder

Paste a Mode S or ADS-B hex string. Every field is shown with the bit range it came from.

One message or a whole log. Any separator works.

Or click an example

Paste a message above, or try one of the examples.

What it reads

ADS-B broadcasts (DF17 and DF18)
Callsign, position, altitude, speed, heading, and climb rate. The 24-bit CRC checks every message. A failed CRC shows the message has an error.
Radar replies (DF0, 4, 5, 16, 20 and 21)
Altitude and squawk codes. These messages do not send the aircraft address openly. The receiver recovers the address from the parity field. That leaves nothing to verify the message against, so the decoder gives no pass/fail verdict. DF11 (the all-call reply) works differently: the address appears in the clear, and the parity carries the interrogator code.
Why a position takes two messages
One position message does not contain a position. It holds a CPR index that repeats every few degrees of latitude. An even message and an odd message from the same aircraft together resolve the coordinate. A reference position can also decode a single message. Without either, the tool shows only the raw index.

Two different zone widths. The overlap gives one answer.

Mode S downlink formats

The first 5 bits of every message identify its downlink format (DF). The format determines what fields the message carries.

DFNameContains
DF0Short air-air surveillanceAltitude
DF4Surveillance altitude replyAltitude, flight status
DF5Surveillance identity replySquawk code
DF11All-call replyICAO address, capability
DF16Long air-air surveillanceAltitude, ACAS resolution
DF17ADS-B broadcastPosition, velocity, callsign, altitude
DF18Extended squitter (non-transponder)Same as DF17, from ground vehicles or TIS-B
DF20Comm-B altitude replyAltitude plus 56-bit data block
DF21Comm-B identity replySquawk plus 56-bit data block

ADS-B type codes (DF17)

Inside a DF17 message, the first 5 bits of the payload are the type code (TC). The type code determines what kind of data the message carries. Most ADS-B receivers see type codes 1–4, 9–18, and 19 most often.

TCNameContent
1–4Aircraft identificationCallsign (8 characters, 6 bits each) and wake turbulence category
5–8Surface positionGround speed, track, CPR latitude/longitude, movement status
9–18Airborne position (barometric)Barometric altitude, CPR latitude/longitude, surveillance status
19Airborne velocityGround speed or airspeed, heading, vertical rate, GNSS/baro altitude difference
20–22Airborne position (GNSS)GNSS altitude, CPR latitude/longitude
23Test messageReserved for system testing
24–27ReservedNot yet assigned by ICAO
28Aircraft statusEmergency/priority status and squawk code
29Target state and statusSelected altitude, barometric pressure setting, selected heading
31Operational statusADS-B version, NACp, NACv, SIL, NIC, capability class flags

Worked example

Single frame

8D40621D58C382D690C8AC2863A7

Downlink format
DF17 — ADS-B broadcast (extended squitter).
ICAO address
40621D — The aircraft's 24-bit identifier.
Type code
11 — Airborne position, barometric altitude.
Altitude
38,000 ft — Barometric altitude from the 12-bit altitude field.
CPR frame
Even — One half of a position pair. A single frame does not resolve a coordinate.

Position pair

Even8D40621D58C382D690C8AC2863A7
Odd8D40621D58C386435CC412692AD6

Resolved position: 52.2572°N, 3.91937°E — Together the even and odd frames resolve to a unique position over the North Sea.

Frequently asked questions

What is ADS-B?
ADS-B stands for Automatic Dependent Surveillance-Broadcast. Aircraft automatically broadcast their position, altitude, speed, and identification on 1090 MHz. Ground stations and other aircraft receive these broadcasts without any radar interrogation.
What is the difference between ADS-B and Mode S?
Mode S is a radar protocol: a ground station sends an interrogation, and the transponder replies. ADS-B is a broadcast: the transponder sends messages on its own, with no interrogation needed. Both use the same 1090 MHz frequency and the same 112-bit message format. ADS-B messages are downlink format 17 (DF17).
How long is an ADS-B message?
An ADS-B message is 112 bits, which is 14 bytes or 28 hex characters. The first 5 bits are the downlink format. Bits 9 through 32 carry the 24-bit ICAO address. The remaining 56 bits carry the payload: position, velocity, callsign, or other data depending on the type code.
What equipment do I need to receive ADS-B?
A software-defined radio (SDR) dongle that covers 1090 MHz, a 1090 MHz antenna, and software such as dump1090 or readsb. The total cost for a basic setup is under $30. The receiver decodes the same messages this tool parses.
What is CPR encoding?
Compact Position Reporting (CPR) compresses a latitude and longitude into 17 bits each. A single CPR message does not contain enough information to resolve a unique position. Two messages — one even and one odd — from the same aircraft together resolve the full coordinate.
What does the CRC check in an ADS-B message?
The last 24 bits of every message carry a CRC (cyclic redundancy check). In DF17 messages, the CRC verifies the entire message against the ICAO address. A failed CRC means the message has a bit error. In radar replies (DF0, DF4, DF5), the transponder XORs the CRC field with the address, so nothing remains to verify independently.
How is altitude encoded in an ADS-B message?
The altitude field is 12 bits, but the encoding depends on one bit inside it called the Q bit. When Q=1 (the common case), the remaining 11 bits give altitude in 25-foot steps above −1,000 ft. When Q=0, the 11 bits use Gillham (Gray) code in 100-foot steps — a legacy encoding from Mode C transponders where adjacent values differ by exactly one bit, making single-bit errors change the altitude by only 100 ft instead of thousands.
Q=1 → 25-ft steps, 11 bitsQ=0 → Gillham code, 100-ft steps
What is the CA field in an ADS-B message?
The Capability field (CA) is a 3-bit value at bits 6–8 in DF17 messages. It describes the transponder capability level: 0 means the transponder reports only surveillance data, 4 means it has at least Comm-A and Comm-B, 5 means it has Comm-A, Comm-B and can set squawk code 7 on command, and 6 means it has all level-5 capabilities plus can respond to selective interrogations. Most commercial aircraft report CA=5.
CA=0 surveillanceCA=4 Comm-A/BCA=5 typicalCA=6 selective
What are ADS-B versions 0, 1, and 2?
ADS-B has evolved through three versions, each defined by a revision of the DO-260 standard. Version 0 (DO-260) was the original specification. Version 1 (DO-260A) added accuracy and integrity indicators like NACp, NACv, and SIL. Version 2 (DO-260B) tightened surface position requirements and added the SDA field. The version is reported in type code 31 (operational status). The 2020 US mandate requires version 2.
What are the velocity message subtypes?
Type code 19 carries velocity in one of two formats. Subtypes 1 and 2 give ground speed as east-west and north-south components, which the receiver combines into a speed and track. Subtypes 3 and 4 give airspeed and magnetic heading directly. Subtypes 1 and 3 report speeds up to about 1,024 kt in coarse resolution. Subtypes 2 and 4 use a finer resolution that halves the maximum. All four subtypes include vertical rate and the GNSS/barometric altitude difference.