Web Bluetooth API

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

The Web Bluetooth API provides the ability to connect and interact with Bluetooth Low Energy peripherals.

Note: This API is not available in Web Workers (not exposed via WorkerNavigator).

Interfaces

Bluetooth

Returns a Promise to a BluetoothDevice object with the specified options.

BluetoothCharacteristicProperties

Provides properties of a particular BluetoothRemoteGATTCharacteristic.

BluetoothDevice

Represents a Bluetooth device inside a particular script execution environment.

BluetoothRemoteGATTCharacteristic

Represents a GATT Characteristic, which is a basic data element that provides further information about a peripheral’s service.

BluetoothRemoteGATTDescriptor

Represents a GATT Descriptor, which provides further information about a characteristic’s value.

BluetoothRemoteGATTServer

Represents a GATT Server on a remote device.

BluetoothRemoteGATTService

Represents a service provided by a GATT server, including a device, a list of referenced services, and a list of the characteristics of this service.

Specifications

Specification Feedback
Web Bluetooth To provide feedback on the Web Bluetooth API, file a spec issue.

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
Web_Bluetooth_API
56
Before Chrome 70, this feature was only supported in macOS. In Chrome 70, support was added for Windows 10. Linux support is not enabled by default.
56
In Linux and versions of Windows earlier than 10, this flag must be enabled.
79
Supported by default only on macOS and Windows 10. Linux support is not enabled by default.
79
In Linux and versions of Windows earlier than 10, this flag must be enabled.
No
No
43
Before Opera 57, this feature was only supported in macOS. In Opera 57, support was added for Windows 10. Linux support is not enabled by default.
43
In Linux and versions of Windows earlier than 10, this flag must be enabled.
No
No
56
No
43
No
6.0
getAvailability
56
79
No
No
43
No
No
56
No
43
No
6.0
getDevices
85
85
No
No
71
No
No
85
No
No
No
No
onavailabilitychanged
56
79
No
No
43
No
No
56
No
43
No
6.0
referringDevice
56
79
No
No
43
No
No
56
No
43
No
6.0
requestDevice
56
79
No
No
43
No
No
56
No
43
No
6.0

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API