This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The BluetoothGATTDescriptor  interface of the Web Bluetooth API provides a GATT Descriptor, which provides further information about a characteristic’s value.


interface BluetoothGATTDescriptor {
  readonly attribute BluetoothGATTCharacteristic characteristic;
  readonly attribute UUID uuid;
  readonly attribute ArrayBuffer? value;
  Promise<ArrayBuffer> readValue();
  Promise<void> writeValue(BufferSource value);


BluetoothGATTDescriptor.characteristic Read only
Returns the BluetoothGATTCharacteristic this descriptor belongs to.
BluetoothGATTDescriptor.uuid Read only
Returns the UUID of the characteristic descriptor, for example '00002902-0000-1000-8000-00805f9b34fb' for theClient Characteristic Configuration descriptor.
BluetoothGATTDescriptor.value Read only
Returns the currently cached descriptor value. This value gets updated when the value of the descriptor is read.


Returns a Promise that resolves to an ArrayBuffer holding a duplicate  of the value property if it is available and supported. Otherwise it throws an error.
Sets the value property to the bytes contained in an ArrayBuffer and returns a Promise.


Specification Status Comment
Web Bluetooth Draft Initial definition.

Browser Compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support Not supported ? ? ? ?
Feature Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support Not supported Not supported ? ? ? ? ? Not supported

Document Tags and Contributors

 Contributors to this page: jpmedley, chrisdavidmills
 Last updated by: jpmedley,