This is an experimental technologyCheck 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.
<div id="interfaceDiagram" style="display: inline-block; position: relative; width: 100%; padding-bottom: 11.666666666666666%; vertical-align: middle; overflow: hidden;"><svg style="display: inline-block; position: absolute; top: 0; left: 0;" viewbox="-50 0 600 70" preserveAspectRatio="xMinYMin meet"><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/EventTarget" target="_top"><rect x="1" y="1" width="110" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="56" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">EventTarget</text></a><polyline points="111,25 121,20 121,30 111,25" stroke="#D4DDE4" fill="none"/><line x1="121" y1="25" x2="151" y2="25" stroke="#D4DDE4"/><a xlink:href="https://developer.mozilla.org/en-US/docs/Web/API/BluetoothDevice" target="_top"><rect x="151" y="1" width="150" height="50" fill="#F4F7F8" stroke="#D4DDE4" stroke-width="2px" /><text x="226" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">BluetoothDevice</text></a></svg></div>
a:hover text { fill: #0095DD; pointer-events: all;}
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 thedevice_information
service. BluetoothDevice.vendorID
' ' Read only- The 16-bit Vendor ID field in the
pnp_id
characteristic in thedevice_information
service. BluetoothDevice.productID
' ' Read only- The 16-bit Product ID field in the
pnp_id
characteristic in thedevice_information
service. BluetoothDevice.productVersion
' ' Read only- The 16-bit Product Version field in the
pnp_id
characteristic in thedevice_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 toundefined
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 ofBluetoothGATTRemoteServer
.
Specifications
Specification | Status | Comment |
Web BluetoothThe definition of 'BluetoothDevice' in that specification. | Draft | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Chrome
Full support 74 |
Edge
Full support ≤79 |
Firefox
No support No |
IE
No support No |
Opera
Full support 62 |
Safari
No support No |
WebView Android
No support No |
Chrome Android
Full support 74 |
Firefox Android
No support No |
Opera Android
Full support 53 |
Safari iOS
No support No |
Samsung Internet Android
Full support 11.0 |
Chrome
No support No |
Edge
No support No |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android
No support No |
Chrome Android
No support No |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
No support No | |
Chrome
No support No |
Edge
No support No |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android
No support No |
Chrome Android
No support No |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
No support No | |
Chrome
No support No |
Edge
No support No |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android
No support No |
Chrome Android
No support No |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
No support No | |
Chrome
Full support 74 |
Edge
Full support ≤79 |
Firefox
No support No |
IE
No support No |
Opera
Full support 62 |
Safari
No support No |
WebView Android
No support No |
Chrome Android
Full support 74 |
Firefox Android
No support No |
Opera Android
Full support 53 |
Safari iOS
No support No |
Samsung Internet Android
Full support 11.0 | |
Chrome
No support No |
Edge
No support No |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android
No support No |
Chrome Android
No support No |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
No support No | |
Chrome
Full support 74 |
Edge
Full support ≤79 |
Firefox
No support No |
IE
No support No |
Opera
Full support 62 |
Safari
No support No |
WebView Android
No support No |
Chrome Android
Full support 74 |
Firefox Android
No support No |
Opera Android
Full support 53 |
Safari iOS
No support No |
Samsung Internet Android
Full support 11.0 | |
Chrome
Full support 74 |
Edge
Full support ≤79 |
Firefox
No support No |
IE
No support No |
Opera
Full support 62 |
Safari
No support No |
WebView Android
No support No |
Chrome Android
Full support 74 |
Firefox Android
No support No |
Opera Android
Full support 53 |
Safari iOS
No support No |
Samsung Internet Android
Full support 11.0 | |
Chrome
No support No |
Edge
No support No |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android
No support No |
Chrome Android
No support No |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
No support No | |
Chrome
No support No |
Edge
No support No |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android
No support No |
Chrome Android
No support No |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
No support No | |
Chrome
No support No |
Edge
No support No |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android
No support No |
Chrome Android
No support No |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
No support No | |
Chrome
No support No |
Edge
No support No |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android
No support No |
Chrome Android
No support No |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
No support No | |
Chrome
No support No |
Edge
No support No |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android
No support No |
Chrome Android
No support No |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
No support No | |
Chrome
No support No |
Edge
No support No |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android
No support No |
Chrome Android
No support No |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
No support No | |
Chrome
No support No |
Edge
No support No |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android
No support No |
Chrome Android
No support No |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
No support No | |
Chrome
No support No |
Edge
No support No |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android
No support No |
Chrome Android
No support No |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
No support No | |
Chrome
No support No |
Edge
No support No |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android
No support No |
Chrome Android
No support No |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
No support No |
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.
- 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.
BluetoothDevice by Mozilla Contributors is licensed under CC-BY-SA 2.5.