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

The BluetoothRemoteGATTServer interface of the Web Bluetooth API represents a GATT Server on a remote device.

This page describes the W3C Community Group Web Bluetooth API. For the Firefox OS Bluetooth API, see BluetoothGattServer (Firefox OS).


interface BluetoothRemoteGATTServer {
  readonly attribute BluetoothDevice device;
  readonly attribute boolean connected;

  Promise<BluetoothRemoteGATTServer> connect();
  void disconnect();
  Promise<BluetoothRemoteGATTService> getPrimaryService(BluetoothServiceUUID service);
  Promise<sequence<BluetoothRemoteGATTService>> getPrimaryServices(optional BluetoothServiceUUID service);


BluetoothRemoteGATTServer.connectedRead only
A boolean value that returns true while this script execution environment is connected to this.device. It can be false while the user agent is physically connected.
BluetoothRemoteGATTServer.deviceRead only
A reference to the BluetoothDevice running the server.


Causes the script execution environment to connect to this.device.
Causes the script execution environment to disconnect from this.device.
Returns a promise to the primary BluetoothGATTService offered by the bluetooth device for a specified BluetoothServiceUUID.
Returns a promise to a list of primary BluetoothGATTService objects offered by the bluetooth device for a specified BluetoothServiceUUID.


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

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support56 ? No ?43 ?
connect56 ? No ?43 ?
connected56 ? No ?43 ?
device56 ? No ?43 ?
disconnect56 ? No ?43 ?
getPrimaryService56 ? No ?43 ?
getPrimaryServices56 ? No ?43 ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support No56 ? No43 ? ?
connect No56 ? No43 ? ?
connected No56 ? No43 ? ?
device No56 ? No43 ? ?
disconnect No56 ? No43 ? ?
getPrimaryService No56 ? No43 ? ?
getPrimaryServices No56 ? No43 ? ?

Document Tags and Contributors

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