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 BluetoothRemoteGattCharacteristic interface of the Web Bluetooth API represents a GATT Characteristic, which is a basic data element that provides further information about a peripheral’s service.


interface BluetoothRemoteGATTCharacteristic {
  readonly attribute BluetoothRemoteGATTService service;
  readonly attribute UUID uuid;
  readonly attribute BluetoothCharacteristicProperties properties;
  readonly attribute DataView? value;
  Promise<BluetoothRemoteGATTDescriptor> getDescriptor(BluetoothDescriptorUUID <dfn>descriptor</dfn>);
    getDescriptors(optional BluetoothDescriptorUUID <dfn>descriptor</dfn>);
  Promise<DataView> readValue();
  Promise<void> writeValue(BufferSource <dfn>value</dfn>);
  Promise<void> startNotifications();
  Promise<void> stopNotifications();
BluetoothRemoteGATTCharacteristic implements EventTarget;
BluetoothRemoteGATTCharacteristic implements CharacteristicEventHandlers;


BluetoothRemoteGATTCharacteristic.service Read only
Returns the BluetoothGATTService this characteristic belongs to.
BluetoothRemoteGATTCharacteristic.uuid Read only
Returns a DOMString containing the UUID of the characteristic, for example '00002a37-0000-1000-8000-00805f9b34fb' for the Heart Rate Measurement characteristic. Read only
Returns the properties of this characteristic.
BluetoothRemoteGATTCharacteristic.value Read only
The currently cached characteristic value. This value gets updated when the value of the characteristic is read or updated via a notification or indication.


BluetoothRemoteGATTCharacteristic.getDescriptor() Read only
Returns a Promise that resolves to the first BluetoothGATTDescriptor for a given descriptor UUID.
BluetoothRemoteGATTCharacteristic.getDescriptors() Read only
Returns a Promise that resolves to an Array of all BluetoothGATTDescriptor objects for a given descriptor UUID.
BluetoothRemoteGATTCharacteristic.readValue() Read only
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.
BluetoothRemoteGATTCharacteristic.writeValue() Read only
Sets the value property to the bytes contained in an ArrayBuffer and returns a Promise.
BluetoothRemoteGATTCharacteristic.startNotifications() Read only
Returns a Promise when navigator.bluetooth is added to the active notification context.
BluetoothRemoteGATTCharacteristic.stopNotifications() Read only
Returns a Promise when navigator.bluetooth is removed from the active notification context.


Specification Status Comment
Web Bluetooth Draft Initial definition.

Browser Compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 45.0 [1] ? ? ? ?
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

[1] Behind a flag.  Chrome OS only.


© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

API Bluetooth BluetoothGattCharacteristic Interface Non-standard Reference Web Bluetooth API