
Bluetooth Address & OUI Lookup
Classify public and random Bluetooth device addresses, identify privacy subtypes, and resolve eligible IEEE MA-L, MA-M, MA-S, and IAB assignments.
Turn device identity into a working integration
Scan, connect, and work with GATT services through one consistent SimpleBLE API across supported platforms.
Interpret the address type correctly
A Bluetooth device address is a 48-bit value, but the value alone does not establish whether it is public or random. Bluetooth transports and controller APIs report the address type separately, and that context determines how the address should be interpreted.
Select Public only when the scanner, HCI event, or packet capture identifies it as a public device address. If that information is unavailable, keep the type unknown: a prefix match can then be treated only as a possible IEEE assignment.
The Bluetooth Core Specification defines public and random device addresses in the Generic Access Profile.
Classify random address subtypes
When the address type is random, the two most significant bits of the address identify the subtype:
00— non-resolvable private address01— resolvable private address (RPA)10— reserved11— static random address
An RPA can be associated with a bonded identity only by resolving it with the corresponding Identity Resolving Key. Its visible prefix is not an organization identifier. The same is true for static and non-resolvable random addresses: running an OUI lookup against them can produce a plausible but incorrect vendor attribution.
Resolve IEEE address assignments
IEEE Registration Authority address blocks identify the organization that received an assignment. MA-L assignments use a 24-bit OUI, while MA-M uses 28 bits and MA-S uses 36 bits. Legacy IAB assignments are also 36 bits. A correct lookup therefore selects the longest matching prefix instead of stopping after the first three bytes.
The result identifies the assignment holder, which may be a chipset, module, or contract manufacturer rather than the consumer brand printed on the product. It does not establish the current owner or user of a device.
When a public address has no match, verify it against the IEEE Registration Authority public listing. Registry records evolve, and the assignment holder may differ from the product brand.
IEEE assignments are not Bluetooth Company Identifiers
An IEEE address assignment and a Bluetooth SIG Company Identifier are separate namespaces. IEEE assignments apply to eligible public device addresses. Bluetooth Company Identifiers are 16-bit values used by protocol fields such as Manufacturer Specific Data.
A company can have both identifiers, and the numeric values do not need to match. Use the address lookup for a public device address. Use the BLE Advertisement Decoder for the Company Identifier inside advertising data. The Bluetooth SIG publishes the authoritative Company Identifiers table.
Apply a reliable lookup workflow
- Normalize the address into six bytes.
- Record the public or random address type from the same observation.
- For random addresses, classify the subtype and avoid vendor attribution from the visible prefix.
- For eligible public addresses, use the longest matching IEEE prefix.
- Treat the result as the address-block assignee, then confirm product identity with GATT services, advertising data, and authenticated application context.