BluetoothDevice

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

The BluetoothDevice interface of the Web Bluetooth API represents a Bluetooth device inside a particular script execution environment.

Interface

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

BluetoothDevice.id Read only
A DOMString that uniquely identifies a device.
BluetoothDevice.name Read only
A DOMString that provices a human-readable name for the device.
BluetoothDevice.gatt  Read only
A reference to the device's BluetoothRemoteGATTServer.
BluetoothDevice.uuids  Read only
Lists the UUID's of GATT services provided by the device, that the current origin is allowed to access.
BluetoothDevice.watchingAdvertisements  Read only
If advertisments were activated using BluetoothDevice.watchAdvertisements().

Non-standard Chrome OS properties

Non-standard
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.

These properties were only implemented on Google’s Chrome OS 45 and removed from Chrome 52.

BluetoothDevice.adData Read only
An instance of BluetoothAdvertisingData containing the most recent advertising data received for the device.
BluetoothDevice.deviceClass Read only
A number representing the Bluetooth devices "Class of Device".
BluetoothDevice.vendorIDSource  Read only
The Vendor ID Source field in the pnp_id characteristic in the device_information service.
BluetoothDevice.vendorID  Read only
The 16-bit Vendor ID field in the pnp_id characteristic in the device_information service.
BluetoothDevice.productID  Read only
The 16-bit Product ID field in the pnp_id characteristic in the device_information service.
BluetoothDevice.productVersion  Read only
The 16-bit Product Version field in the pnp_id characteristic in the device_information service.
BluetoothDevice.paired  Read only
A Boolean value indicating whether the device is paired with the system.
BluetoothDevice.gattServer  Read only
A reference to the device's GATT server or null if the device is disconnected.

Methods

BluetoothDevice.watchAdvertisments() 
A Promise that resolves to undefined or is rejected with an error if advetisments can’t shown for any reason.
BluetoothDevice.unwatchAdvertisments() 
Stops watching for advertisments.
BluetoothDevice.connectGATT() 
A Promise that resolves to an instance of BluetoothGATTRemoteServer.

Specifications

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

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic support
Experimental
Chrome Full support 52
Notes
Full support 52
Notes
Notes Chrome origin trials only.
Full support 45
Notes
Notes Behind a flag. Chrome OS only.
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android No support NoChrome Android Full support 52
Notes
Full support 52
Notes
Notes Chrome origin trials only.
Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
adData
DeprecatedNon-standard
Chrome No support 45 — 52
Notes
No support 45 — 52
Notes
Notes Behind a flag. Chrome OS only.
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
connectGATT
DeprecatedNon-standard
Chrome No support 45 — 52
Notes
No support 45 — 52
Notes
Notes Behind a flag. Chrome OS only.
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
deviceClass
DeprecatedNon-standard
Chrome No support 45 — 52
Notes
No support 45 — 52
Notes
Notes Behind a flag. Chrome OS only.
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
gatt
Experimental
Chrome Full support 52
Notes
Full support 52
Notes
Notes Chrome origin trials only.
Full support 45
Notes
Notes Behind a flag. Chrome OS only.
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android No support NoChrome Android Full support 52
Notes
Full support 52
Notes
Notes Chrome origin trials only.
Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
gattServer
DeprecatedNon-standard
Chrome No support 45 — 52
Notes
No support 45 — 52
Notes
Notes Behind a flag. Chrome OS only.
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
id
Experimental
Chrome Full support 52
Notes
Full support 52
Notes
Notes Chrome origin trials only.
Full support 45
Notes
Notes Behind a flag. Chrome OS only.
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android No support NoChrome Android Full support 52
Notes
Full support 52
Notes
Notes Chrome origin trials only.
Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
name
Experimental
Chrome Full support 52
Notes
Full support 52
Notes
Notes Chrome origin trials only.
Full support 45
Notes
Notes Behind a flag. Chrome OS only.
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android No support NoChrome Android Full support 52
Notes
Full support 52
Notes
Notes Chrome origin trials only.
Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
paired
DeprecatedNon-standard
Chrome No support 45 — 52
Notes
No support 45 — 52
Notes
Notes Behind a flag. Chrome OS only.
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
productID
DeprecatedNon-standard
Chrome No support 45 — 52
Notes
No support 45 — 52
Notes
Notes Behind a flag. Chrome OS only.
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
productVersion
DeprecatedNon-standard
Chrome No support 45 — 52
Notes
No support 45 — 52
Notes
Notes Behind a flag. Chrome OS only.
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
unwatchAdvertisements
Experimental
Chrome Full support 52
Notes
Full support 52
Notes
Notes Chrome origin trials only.
Full support 45
Notes
Notes Behind a flag. Chrome OS only.
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android No support NoChrome Android Full support 52
Notes
Full support 52
Notes
Notes Chrome origin trials only.
Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
uuids
Experimental
Chrome Full support 52
Notes
Full support 52
Notes
Notes Chrome origin trials only.
Full support 45
Notes
Notes Behind a flag. Chrome OS only.
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android No support NoChrome Android Full support 52
Notes
Full support 52
Notes
Notes Chrome origin trials only.
Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
vendorID
DeprecatedNon-standard
Chrome No support 45 — 52
Notes
No support 45 — 52
Notes
Notes Behind a flag. Chrome OS only.
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
vendorIDSource
DeprecatedNon-standard
Chrome No support 45 — 52
Notes
No support 45 — 52
Notes
Notes Behind a flag. Chrome OS only.
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
watchAdvertisements
Experimental
Chrome Full support 52
Notes
Full support 52
Notes
Notes Chrome origin trials only.
Full support 45
Notes
Notes Behind a flag. Chrome OS only.
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android No support NoChrome Android Full support 52
Notes
Full support 52
Notes
Notes Chrome origin trials only.
Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
watchingAdvertisements
Experimental
Chrome Full support 52
Notes
Full support 52
Notes
Notes Chrome origin trials only.
Full support 45
Notes
Notes Behind a flag. Chrome OS only.
Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android No support NoChrome Android Full support 52
Notes
Full support 52
Notes
Notes Chrome origin trials only.
Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
See implementation notes.
See implementation notes.

Document Tags and Contributors

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