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 BluetoothDevice interface of the Web Bluetooth API represents a Bluetooth device inside a particular script execution environment.


interface BluetoothDevice {
  readonly attribute DOMString id;
  readonly attribute DOMString? name;
  readonly attribute BluetoothRemoteGATTServer? gatt;
  readonly attribute FrozenArray uuids;

  Promise watchAdvertisements();
  void unwatchAdvertisements();
  readonly attribute boolean watchingAdvertisements;
BluetoothDevice implements EventTarget;
BluetoothDevice implements BluetoothDeviceEventHandlers;
BluetoothDevice implements CharacteristicEventHandlers;
BluetoothDevice implements ServiceEventHandlers;

Properties Read only
A DOMString that uniquely identifies a device. Read only
A DOMString that provices a human-readable name for the device.
BluetoothDevice.adData Read only  Obsolete
An instance of BluetoothAdvertisingData containing the most recent advertising data received for the device.
BluetoothDevice.deviceClass Read only  Obsolete
A number representing the Bluetooth devices "Class of Device".
BluetoothDevice.vendorIDSource Read only  Obsolete
The Vendor ID Source field in the pnp_id characteristic in the device_information service.
BluetoothDevice.vendorID Read only  Obsolete
The 16-bit Vendor ID field in the pnp_id characteristic in the device_information service.
BluetoothDevice.productID Read only  Obsolete
The 16-bit Product ID field in the pnp_id characteristic in the device_information service.
BluetoothDevice.productVersion Read only  Obsolete
The 16-bit Product Version field in the pnp_id characteristic in the device_information service.
BluetoothDevice.paired Read only  Obsolete
A Boolean value indicating whether the device is paired with the system.
BluetoothDevice.gatt Read only
A reference to the device's BluetoothRemoteGATTServer.
BluetoothDevice.gattServer Read only  Obsolete
A reference to the device's GATT server or null if the device is disconnected.
BluetoothDevice.uuids Read only  
Lists the UUID's of GATT services provided by the device, that the current origin is allowed to access.


BluetoothDevice.connectGATT() Obsolete
A Promise that resolves to an instance of BluetoothGATTRemoteServer.


Specification Status Comment
Web Bluetooth
The definition of 'BluetoothDevice' in that specification.
Draft Initial definition.

Browser Compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 45.0 [1]
52.0 [2]
Feature Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support No support No support           52.0 [2]

[1] Behind a flag.  Chrome OS only.

[2] Chrome origin trials only.


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

API Bluetooth BluetoothDevice Interface Non-Standard Non-standard Reference Web Bluetooth API