GATT Characteristics are the fundamental data-bearing elements of Bluetooth Low Energy. Where a GATT Service acts as a container, a characteristic holds the actual value — for example, the Heart Rate Measurement characteristic (UUIDDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/nordicsemi/bluetooth-numbers-database/llms.txt
Use this file to discover all available pages before exploring further.
2A37) inside the Heart Rate Service carries the live BPM reading from the sensor. Each characteristic has a UUID that identifies what kind of data it carries, a set of properties (read, write, notify, indicate), and optionally one or more descriptors that further describe the value. The Bluetooth Numbers Database includes 700+ characteristic entries: all SIG-standardized characteristics from the GATT Specification Supplement, plus proprietary 128-bit characteristics contributed by Nordic Semiconductor and other vendors.
Data Structure
Each entry incharacteristic_uuids.json conforms to the following schema:
The UUID identifying the characteristic. SIG-assigned characteristics use a 4-character hexadecimal string in the range
2A00–2BFF (e.g., "2A37" for Heart Rate Measurement). Proprietary characteristics use a 36-character 128-bit UUID string (e.g., "EF680201-9B35-4933-9B10-52FFA9740042"). All characters are uppercase hex.Human-readable characteristic name as defined in the GATT Specification Supplement or the originating vendor’s documentation (e.g.,
"Heart Rate Measurement", "Battery Level").Uniform Type Identifier in reverse-dot notation that provides a globally scoped, machine-readable label. SIG-defined characteristics use the
org.bluetooth.characteristic.* prefix (e.g., org.bluetooth.characteristic.heart_rate_measurement). Vendor-defined characteristics use the vendor’s reverse domain.Identifies the organization that defined the characteristic UUID. Common values include:
gss— GATT Specification Supplement (Bluetooth SIG-defined)nordic— Nordic Semiconductorapple— Apple Inc.microbit— Micro:bit Educational Foundationadafruit— Adafruit Industries
Example Entries
Common Lookups
Characteristics vs. Services
Understanding the relationship between services and characteristics is key to working with GATT:- A service (e.g., Heart Rate Service, UUID
180D) is a logical grouping that declares a device capability. - Characteristics (e.g., Heart Rate Measurement
2A37, Body Sensor Location2A38) live inside the service and carry the actual data values. - A characteristic has properties that govern access:
READfor polling a value,WRITEorWRITE WITHOUT RESPONSEfor sending commands,NOTIFYorINDICATEfor server-initiated updates. - The relationship is hierarchical: one service → zero or more characteristics → zero or more descriptors per characteristic.
Source Values
| Source | Meaning |
|---|---|
gss | Defined in the Bluetooth GATT Specification Supplement (official SIG standard) |
nordic | Defined by Nordic Semiconductor for Thingy, nRF Connect SDK, or DFU profiles |
apple | Defined by Apple for ANCS or AMS profiles |
microbit | Defined by the Micro:bit Educational Foundation |
adafruit | Defined by Adafruit Industries for CircuitPython BLE libraries |
16-bit characteristic UUIDs with values in the range 0x2900–0x29FF are reserved by Bluetooth SIG for GATT Descriptors — not characteristics. SIG-assigned characteristic UUIDs begin at
0x2A00. Any proprietary or vendor-specific characteristic that is not registered with Bluetooth SIG must use a 128-bit UUID to avoid collisions with the SIG-reserved space.