BLE Advertising Packet Utility

BLE Advertising Packet Decoder

Decode Bluetooth Low Energy legacy advertising-channel PDUs or standalone Advertising Data bytes. Inspect the advertising PDU type, advertiser address, header flags, packet length, local device name, service UUIDs, TX power, manufacturer data and other AD structures.

✓ ADV_IND ✓ SCAN_RSP ✓ Device Address ✓ Local Name ✓ UUIDs ✓ Manufacturer Data
BT
BLE Advertising Decode
● Ready
PDU mode expects the two-byte advertising-channel header followed by its PDU payload.
BLE addresses are transmitted least-significant octet first on air.
Hex bytes may be separated by spaces, commas, colons or hyphens. Continuous hex and 0x-prefixed byte values are also accepted.
Decoder scope: this page focuses on legacy BLE advertising-channel PDU structure and Advertising Data elements. It does not assume that preamble, advertising access address 0x8E89BED6, CRC, PHY metadata or RSSI bytes are present unless you explicitly include them as packet data.
BLE Advertising Decode Result Decoded
Decoded Packet
PDU Type
Advertiser Address
Address Type
PDU Payload Length
Local Name
Flags
TX Power
Service UUIDs
Manufacturer ID
AD Structures
Total Input Bytes
Decode Status
# Offset AD Type Length Raw Data Decoded Value
Packet Decode Breakdown

What Is a BLE Advertising Packet Decoder?

A BLE Advertising Packet Decoder converts raw Bluetooth Low Energy advertising hex bytes into human-readable packet fields. Depending on the input, the tool can decode the advertising-channel PDU header, device addresses and the variable Advertising Data structures contained inside advertising or scan response packets.

This is useful when inspecting Bluetooth sniffer captures, embedded BLE logs, raw controller packets and beacon or sensor advertisements.

Legacy BLE Advertising PDU Structure

Advertising PDU +----------------+--------------------+ | 2-byte Header | PDU Payload | +----------------+--------------------+ Header Byte 0: PDU Type RFU ChSel TxAdd RxAdd Header Byte 1: Payload Length

The exact contents of the PDU payload depend on the selected advertising PDU type.

Common BLE Advertising PDU Types

Code PDU Type Typical Payload
0x0 ADV_IND AdvA + AdvData
0x1 ADV_DIRECT_IND AdvA + TargetA
0x2 ADV_NONCONN_IND AdvA + AdvData
0x3 SCAN_REQ ScanA + AdvA
0x4 SCAN_RSP AdvA + ScanRspData
0x5 CONNECT_IND InitA + AdvA + LLData
0x6 ADV_SCAN_IND AdvA + AdvData

Advertising Data Structure

BLE Advertising Data is made from a sequence of length-prefixed AD structures.

Length | AD Type | AD Data Example: 02 01 06 02 = 2 bytes follow 01 = Flags AD Type 06 = Flags value

The length byte counts the AD Type byte plus the AD Data bytes but does not include the length byte itself.

BLE Advertising Flags

Advertising Data type 0x01 contains the Bluetooth LE advertising flags.

Flag bit 0: LE Limited Discoverable Mode Flag bit 1: LE General Discoverable Mode Flag bit 2: BR/EDR Not Supported Flag bit 3: Simultaneous LE + BR/EDR Controller Flag bit 4: Simultaneous LE + BR/EDR Host

A commonly encountered value is 0x06, indicating LE General Discoverable Mode and BR/EDR Not Supported.

Complete and Shortened Local Name

Advertising Data type 0x09 contains a Complete Local Name, while type 0x08 contains a Shortened Local Name.

07 09 42 69 6E 61 72 79 Length: 7 Type: 09 — Complete Local Name UTF-8 / ASCII: Binary

16-Bit Service UUIDs

BLE advertisements can include lists of 16-bit service UUIDs. Each UUID is stored least-significant byte first inside the Advertising Data field.

Advertising bytes: 0D 18 Decoded 16-bit UUID: 0x180D

For example, UUID 0x180D is commonly associated with the Bluetooth Heart Rate service, but the calculator reports the numeric UUID without requiring an external service-name database.

BLE TX Power Advertising Data

Advertising Data type 0x0A carries the TX Power Level as a signed 8-bit value in dBm.

02 0A FC Length: 2 AD Type: 0A Value: FC hexadecimal = -4 signed 8-bit TX Power: -4 dBm

Manufacturer Specific Data

Advertising Data type 0xFF is reserved for Manufacturer Specific Data. The first two data octets contain the Bluetooth Company Identifier in little-endian order.

FF payload: 4C 00 01 02 03 04 Company Identifier: 0x004C Manufacturer Payload: 01 02 03 04

The tool reports the company identifier numerically rather than guessing the company name from an incomplete or outdated lookup table.

Service Data

AD type 0x16 contains Service Data associated with a 16-bit UUID. The first two data bytes form the UUID in little-endian order and the remaining bytes belong to that service’s application format.

AD Type: 0x16 Data: 0D 18 AA BB UUID: 0x180D Service-specific bytes: AA BB

BLE Device Address Byte Order

BLE device addresses are transmitted least-significant octet first. Packet capture tools may therefore show address bytes in the reverse order from the usual human-readable Bluetooth address.

Packet bytes: 66 55 44 33 22 11 Standard displayed address: 11:22:33:44:55:66

This calculator provides both standard display order and raw packet-byte order.

Public vs Random Advertising Address

The TxAdd bit in the advertising PDU header identifies the advertiser address type for legacy advertising PDUs.

TxAdd = 0 Public Device Address TxAdd = 1 Random Device Address

Further classification of a random address can depend on its upper address bits and privacy behavior.

BLE Advertising Packet Length

The legacy advertising-channel PDU header contains a payload-length field. The decoder compares that field with the number of supplied bytes and reports a length mismatch instead of silently reading beyond the declared PDU.

If your sniffer includes preamble, advertising access address, CRC or metadata, remove those bytes before using Legacy Advertising PDU mode unless you specifically intend them to be interpreted as PDU bytes.

Advertising Data Only Mode

Some APIs do not expose the BLE link-layer PDU header and instead provide only the Advertising Data bytes. In that case select Advertising Data Only and paste the sequence beginning directly with the first AD structure length byte.

02 01 06 03 03 0D 18 05 09 54 65 73 74 02 0A FC

BLE Advertising Packet Decoder FAQs

What input can this BLE decoder read?
It can decode legacy advertising-channel PDU bytes or standalone BLE Advertising Data structures.
Does the input include the BLE preamble?
No. Legacy PDU mode starts with the two-byte advertising PDU header.
Does it expect the advertising access address?
No. The normal advertising access address is outside the PDU parsed by this tool.
What does AD type 0x01 mean?
It represents the Bluetooth LE Flags field.
What does AD type 0x09 mean?
It contains the Complete Local Name.
What does AD type 0x08 mean?
It contains a Shortened Local Name.
What does AD type 0x0A mean?
It represents the signed TX Power Level in dBm.
What does AD type 0xFF mean?
It contains Manufacturer Specific Data. The first two data bytes are the Bluetooth Company Identifier in little-endian order.
Why is the Bluetooth device address reversed?
BLE sends the address least-significant octet first over the air, while device addresses are conventionally displayed most-significant octet first.
Can this tool decode SCAN_RSP packets?
Yes. SCAN_RSP is identified and its advertiser address plus scan-response Advertising Data are decoded.
Can it decode ADV_DIRECT_IND?
Yes. It extracts both the advertiser and target addresses.
Can it decode manufacturer-specific beacon formats?
It extracts the company identifier and raw manufacturer payload. It does not guess a proprietary beacon format unless that format is explicitly known.
Does this decode extended BLE advertising?
This page focuses on the legacy advertising PDU format and common Advertising Data structures. Extended advertising uses additional PDU and extended-header formats.

Decode BLE Advertising Hex Bytes

Inspect legacy Bluetooth LE advertising PDUs and Advertising Data structures, including packet type, addresses, flags, names, UUIDs, TX power, service data and manufacturer-specific payloads.

Scroll to Top