Chris Collins

Tools · embedded

Bluetooth LE explorer

Connect to a Bluetooth Low Energy device from the browser, browse its GATT services, read, write, and subscribe to characteristics with decoders for standard sensors, graph live values, and look up UUIDs.

Added

How to use it

Press Scan and connect… and pick a device from the browser’s chooser. The tool lists every primary service and characteristic it can see, with their names and properties. Read fetches a value. Notify subscribes and logs each update, and numeric values are graphed live. Write sends hex (01 ff), UTF-8 text, or decimal bytes, with or without response, as the characteristic allows.

Standard characteristics are decoded:

  • Battery Level (0x2A19).

  • Heart Rate Measurement (0x2A37): 8- or 16-bit rate, contact, energy, and RR intervals in ms.

  • Temperature Measurement (0x2A1C), an IEEE-11073 32-bit float in °C or °F.

  • Environmental Sensing temperature (0x2A6E, ×0.01 °C), humidity (0x2A6F, ×0.01 %), and pressure (0x2A6D, ×0.1 Pa).

  • Blood pressure (SFLOAT values).

  • Device-information strings, appearance, PnP ID, and current time.

Anything else shows hex plus a best guess: text if printable, or the integer and float interpretations for 2- and 4-byte values.

Web Bluetooth only exposes services that were named when connecting. The common standard services, Nordic UART (6e400001-b5a3-f393-e0a9-e50e24dcca9e), and HM-10 serial (0xFFE0) are always requested. For your own firmware’s services, add their UUIDs under Extra service UUIDs before connecting. The UUID reference tab searches the assigned numbers. It also expands 16-bit UUIDs to the full 0000xxxx-0000-1000-8000-00805f9b34fb form.

Browser support

Web Bluetooth works in Chrome, Edge, and Opera on Windows, macOS, ChromeOS, and Android, over HTTPS or localhost. On Linux it needs chrome://flags/#enable-experimental-web-platform-features. Firefox and Safari (including all iOS browsers) do not support it. The reference tab works everywhere. Some services, such as HID, are blocked by the browser for security. Nothing is sent anywhere except to the device you choose.

Runs entirely in your browser — network requests go only to the services named on this page.