Web/API/BluetoothCharacteristicProperties

From Get docs

Draft This page is not complete.


Secure contextThis feature is available only in secure contexts (HTTPS), in some or all supporting browsers.


This is an experimental technologyCheck the Browser compatibility table carefully before using this in production.


The BluetoothCharacteristicProperties interface of the the Web Bluetooth API provides the operations that are valid on the given BluetoothRemoteGATTCharacteristic. This interface is returned by calling BluetoothRemoteGATTCharacteristic.properties.

Properties

authenticatedSignedWritesRead only
Returns a boolean that is true if signed writing to the characteristic value is permitted.
broadcastRead only
Returns a boolean that is true if the broadcast of the characteristic value is permitted using the Server Characteristic Configuration Descriptor.
indicateRead only
Returns a boolean that is true if indications of the characteristic value with acknowledgement is permitted.
notifyRead only
Returns a boolean that is true if notifications of the characteristic value without acknowledgement is permitted.
readRead only
Returns a boolean that is true if the reading of the characteristic value is permitted.
reliableWriteRead only
Returns a boolean that is true if reliable writes to the characteristic is permitted.
writableAuxiliariesRead only
Returns a boolean that is true if reliable writes to the characteristic descriptor is permitted.
writeRead only
Returns a boolean that is true if the writing to the characteristic with response is permitted.
writeWithoutResponseRead only
Returns a boolean that is true if the writing to the characteristic without response is permitted.

Examples

The following example shows how tell if a GATT characteristic supports value change notifications.

let device = await navigator.bluetooth.requestDevice({
  filters: [{services: ['heart_rate']}]
});
let gatt = await device.gatt.connect();
let service = await gatt.getPrimaryService('heart_rate');
let characteristic = await service.getCharacteristic('heart_rate_measurement');
if (characteristic.properties.notify) {
  characteristic.addEventListener('characteristicvaluechanged',
      function(event) {
    console.log(`Received heart rate measurement: ${event.target.value}`);
  }
  await characteristic.startNotifications();
}

Specifications

Specification Status Comment
Web BluetoothThe definition of 'BluetoothCharacteristicProperties' in that specification. Draft Initial definition.

Browser Compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet

BluetoothCharacteristicProperties

Experimental'

Chrome Full support 56

Notes'

Full support 56

Notes'

Notes' ChromeOS and macOS only. Full support 56

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags. Full support 70

Notes'

Notes' Windows 10.

Edge Full support ≤79

Notes'

Full support ≤79

Notes'

Notes' macOS only. Full support ≤79

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support ≤79

Notes'

Notes' Windows 10.

Firefox

No support No

IE

No support No

Opera Full support 43

Notes'

Full support 43

Notes'

Notes' macOS only. Full support 43

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support 57

Notes'

Notes' Windows 10.

Safari

No support No

WebView Android

No support No

Chrome Android

Full support 56

Firefox Android

No support No

Opera Android

Full support 43

Safari iOS

No support No

Samsung Internet Android

Full support 6.0

authenticatedSignedWrites

Experimental'

Chrome Full support 56

Notes'

Full support 56

Notes'

Notes' ChromeOS and macOS only. Full support 56

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags. Full support 70

Notes'

Notes' Windows 10.

Edge Full support ≤79

Notes'

Full support ≤79

Notes'

Notes' macOS only. Full support ≤79

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support ≤79

Notes'

Notes' Windows 10.

Firefox

No support No

IE

No support No

Opera Full support 43

Notes'

Full support 43

Notes'

Notes' macOS only. Full support 43

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support 57

Notes'

Notes' Windows 10.

Safari

No support No

WebView Android

No support No

Chrome Android

Full support 56

Firefox Android

No support No

Opera Android

Full support 43

Safari iOS

No support No

Samsung Internet Android

Full support 6.0

broadcast

Experimental'

Chrome Full support 56

Notes'

Full support 56

Notes'

Notes' ChromeOS and macOS only. Full support 56

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags. Full support 70

Notes'

Notes' Windows 10.

Edge Full support ≤79

Notes'

Full support ≤79

Notes'

Notes' macOS only. Full support ≤79

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support ≤79

Notes'

Notes' Windows 10.

Firefox

No support No

IE

No support No

Opera Full support 43

Notes'

Full support 43

Notes'

Notes' macOS only. Full support 43

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support 57

Notes'

Notes' Windows 10.

Safari

No support No

WebView Android

No support No

Chrome Android

Full support 56

Firefox Android

No support No

Opera Android

Full support 43

Safari iOS

No support No

Samsung Internet Android

Full support 6.0

indicate

Experimental'

Chrome Full support 56

Notes'

Full support 56

Notes'

Notes' ChromeOS and macOS only. Full support 56

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags. Full support 70

Notes'

Notes' Windows 10.

Edge Full support ≤79

Notes'

Full support ≤79

Notes'

Notes' macOS only. Full support ≤79

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support ≤79

Notes'

Notes' Windows 10.

Firefox

No support No

IE

No support No

Opera Full support 43

Notes'

Full support 43

Notes'

Notes' macOS only. Full support 43

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support 57

Notes'

Notes' Windows 10.

Safari

No support No

WebView Android

No support No

Chrome Android

Full support 56

Firefox Android

No support No

Opera Android

Full support 43

Safari iOS

No support No

Samsung Internet Android

Full support 6.0

notify

Experimental'

Chrome Full support 56

Notes'

Full support 56

Notes'

Notes' ChromeOS and macOS only. Full support 56

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags. Full support 70

Notes'

Notes' Windows 10.

Edge Full support ≤79

Notes'

Full support ≤79

Notes'

Notes' macOS only. Full support ≤79

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support ≤79

Notes'

Notes' Windows 10.

Firefox

No support No

IE

No support No

Opera Full support 43

Notes'

Full support 43

Notes'

Notes' macOS only. Full support 43

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support 57

Notes'

Notes' Windows 10.

Safari

No support No

WebView Android

No support No

Chrome Android

Full support 56

Firefox Android

No support No

Opera Android

Full support 43

Safari iOS

No support No

Samsung Internet Android

Full support 6.0

read

Experimental'

Chrome Full support 56

Notes'

Full support 56

Notes'

Notes' ChromeOS and macOS only. Full support 56

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags. Full support 70

Notes'

Notes' Windows 10.

Edge Full support ≤79

Notes'

Full support ≤79

Notes'

Notes' macOS only. Full support ≤79

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support ≤79

Notes'

Notes' Windows 10.

Firefox

No support No

IE

No support No

Opera Full support 43

Notes'

Full support 43

Notes'

Notes' macOS only. Full support 43

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support 57

Notes'

Notes' Windows 10.

Safari

No support No

WebView Android

No support No

Chrome Android

Full support 56

Firefox Android

No support No

Opera Android

Full support 43

Safari iOS

No support No

Samsung Internet Android

Full support 6.0

reliableWrite

Experimental'

Chrome Full support 56

Notes'

Full support 56

Notes'

Notes' ChromeOS and macOS only. Full support 56

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags. Full support 70

Notes'

Notes' Windows 10.

Edge Full support ≤79

Notes'

Full support ≤79

Notes'

Notes' macOS only. Full support ≤79

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support ≤79

Notes'

Notes' Windows 10.

Firefox

No support No

IE

No support No

Opera Full support 43

Notes'

Full support 43

Notes'

Notes' macOS only. Full support 43

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support 57

Notes'

Notes' Windows 10.

Safari

No support No

WebView Android

No support No

Chrome Android

Full support 56

Firefox Android

No support No

Opera Android

Full support 43

Safari iOS

No support No

Samsung Internet Android

Full support 6.0

writableAuxiliaries

Experimental'

Chrome Full support 56

Notes'

Full support 56

Notes'

Notes' ChromeOS and macOS only. Full support 56

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags. Full support 70

Notes'

Notes' Windows 10.

Edge Full support ≤79

Notes'

Full support ≤79

Notes'

Notes' macOS only. Full support ≤79

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support ≤79

Notes'

Notes' Windows 10.

Firefox

No support No

IE

No support No

Opera Full support 43

Notes'

Full support 43

Notes'

Notes' macOS only. Full support 43

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support 57

Notes'

Notes' Windows 10.

Safari

No support No

WebView Android

No support No

Chrome Android

Full support 56

Firefox Android

No support No

Opera Android

Full support 43

Safari iOS

No support No

Samsung Internet Android

Full support 6.0

write

Experimental'

Chrome Full support 56

Notes'

Full support 56

Notes'

Notes' ChromeOS and macOS only. Full support 56

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags. Full support 70

Notes'

Notes' Windows 10.

Edge Full support ≤79

Notes'

Full support ≤79

Notes'

Notes' macOS only. Full support ≤79

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support ≤79

Notes'

Notes' Windows 10.

Firefox

No support No

IE

No support No

Opera Full support 43

Notes'

Full support 43

Notes'

Notes' macOS only. Full support 43

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support 57

Notes'

Notes' Windows 10.

Safari

No support No

WebView Android

No support No

Chrome Android

Full support 56

Firefox Android

No support No

Opera Android

Full support 43

Safari iOS

No support No

Samsung Internet Android

Full support 6.0

writeWithoutResponse

Experimental'

Chrome Full support 56

Notes'

Full support 56

Notes'

Notes' ChromeOS and macOS only. Full support 56

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags. Full support 70

Notes'

Notes' Windows 10.

Edge Full support ≤79

Notes'

Full support ≤79

Notes'

Notes' macOS only. Full support ≤79

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support ≤79

Notes'

Notes' Windows 10.

Firefox

No support No

IE

No support No

Opera Full support 43

Notes'

Full support 43

Notes'

Notes' macOS only. Full support 43

Notes' Disabled'

Notes' Linux and versions of Windows earlier than 10. Disabled' From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled). Full support 57

Notes'

Notes' Windows 10.

Safari

No support No

WebView Android

No support No

Chrome Android

Full support 56

Firefox Android

No support No

Opera Android

Full support 43

Safari iOS

No support No

Samsung Internet Android

Full support 6.0

Legend

Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.'
Experimental. Expect behavior to change in the future.
See implementation notes.'
See implementation notes.
User must explicitly enable this feature.'
User must explicitly enable this feature.