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 BluetoothRemoteGATTDescriptor  interface of the Web Bluetooth API provides a GATT Descriptor, which provides further information about a characteristic’s value.

In earlier versions of the spec, this was called BluetoothGATTDescriptor.


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


BluetoothRemoteGATTDescriptor.characteristic Read only
Returns the BluetoothRemoteGATTCharacteristic this descriptor belongs to.
BluetoothRemoteGATTDescriptor.uuid Read only
Returns the UUID of the characteristic descriptor, for example '00002902-0000-1000-8000-00805f9b34fb' for theClient Characteristic Configuration descriptor.
BluetoothRemoteGATTDescriptor.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
The definition of 'BluetoothRemoteGATTDescriptor' in that specification.
Draft Initial definition.

Browser Compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support57 ? ? ?44 ?
characteristic57 ? ? ?44 ?
uuid57 ? ? ?44 ?
value57 ? ? ?44 ?
readValue57 ? ? ?44 ?
writeValue57 ? ? ?44 ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support No57 ? ?44 ? ?
characteristic No57 ? ?44 ? ?
uuid No57 ? ?44 ? ?
value No57 ? ?44 ? ?
readValue No57 ? ?44 ? ?
writeValue No57 ? ?44 ? ?

Document Tags and Contributors

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