Bluetooth Device Scanner
Choose a nearby Bluetooth Low Energy device and explore it: its GATT services, characteristics and their properties, readable values such as battery level and model name, and live notifications. Uses the Web Bluetooth API, so nothing is installed.
Last updated:
- Turn on Bluetooth and wake the device you want to inspect (most sensors advertise only when active).
- Press Scan for devices and choose it in the browser's list.
- Services, characteristics and readable values appear here.
Activity log
- Ready.
How to use the Bluetooth Device Scanner
- Open the page in Chrome, Edge or Opera on a computer or Android phone with Bluetooth turned on.
- Press Scan for devices. The browser shows a list of nearby devices; pick one and press Pair or Connect.
- Wait for the services to load. Readable values such as battery level and manufacturer are read automatically.
- Use Read or Notify on any characteristic to see its current value in decoded, hex and text form.
- Copy the report or download it as JSON, then press Disconnect when you are done.
Common Bluetooth LE services and what they tell you
| Service (UUID) | Key characteristics | Typical devices |
|---|---|---|
| Battery (0x180F) | Battery Level 0x2A19: 0 to 100% | Sensors, trackers, remotes, some earbuds |
| Device Information (0x180A) | Manufacturer 0x2A29, Model 0x2A24, Firmware 0x2A26, PnP ID 0x2A50 | Most branded devices |
| Heart Rate (0x180D) | Heart Rate Measurement 0x2A37 (notify), Body Sensor Location 0x2A38 | Chest straps, armbands, some watches |
| Environmental Sensing (0x181A) | Temperature 0x2A6E (0.01 °C), Humidity 0x2A6F (0.01 %), Pressure 0x2A6D (0.1 Pa) | Room and weather sensors |
| Health Thermometer (0x1809) | Temperature Measurement 0x2A1C (IEEE 11073 float) | Thermometers |
| Cycling Speed and Cadence (0x1816) | CSC Measurement 0x2A5B (notify) | Bike speed and cadence sensors |
| Fitness Machine (0x1826) | Indoor Bike Data 0x2AD2, Fitness Machine Feature 0x2ACC | Smart trainers, treadmills, rowers |
| Nordic UART (6e400001-…) | RX 6e400002 (write), TX 6e400003 (notify) | Maker boards and DIY projects |
16-bit numbers are short forms of full UUIDs: 0x180F stands for 0000180f-0000-1000-8000-00805f9b34fb. Multi-byte values are little-endian: the bytes 2c 01 read as 0x012C = 300. In a Heart Rate Measurement the first byte holds flags, so 00 48 means an 8-bit heart rate of 0x48 = 72 bpm.
Reading signal strength
RSSI (received signal strength indicator) is measured in dBm and is always negative: values closer to zero are stronger. As a rough guide, −40 to −60 dBm means the device is within a metre or two, −60 to −75 dBm is a normal room distance, and below −85 dBm the link may drop. Walls, bodies and the device's antenna orientation change RSSI a lot, so the distance estimate from TX power and RSSI is only a rough indication using the log-distance path-loss model with a path-loss exponent of 2.
Troubleshooting
- The device is not in the list: wake it up or put it in pairing mode, move closer, and disconnect it from other phones or apps, since many sensors accept only one connection.
- "Blocked by the browser": browsers keep a blocklist of sensitive services and characteristics, such as HID and some serial numbers, that web pages may not read.
- Vendor services are missing: pages can only open services listed when the device is chosen. Add the vendor's UUID in Extra service UUIDs and scan again.
- Linux: Web Bluetooth may need the experimental flag in chrome://flags and a recent BlueZ version.
Frequently asked questions
Which browsers support Web Bluetooth?
Chrome, Edge and Opera on Windows, macOS, ChromeOS and Android support Web Bluetooth. On Linux it may need to be enabled in chrome://flags. Firefox and Safari, including all browsers on iPhone and iPad, do not support it.
Why does the scan not show a list of every device around me?
For privacy, web pages cannot scan silently. The browser shows its own picker, and the page only learns about the single device you choose. The page also only sees services you allow, so the scanner requests a list of common standard services and any custom UUIDs you add.
Why can I not see my headphones, mouse or keyboard?
Web Bluetooth works with Bluetooth Low Energy GATT devices. Classic Bluetooth audio does not use GATT, and devices already connected to the system may not advertise. Keyboards and mice use the HID service, which browsers block for security, so they may connect but show few services.
How is battery level read?
Devices that implement the standard Battery Service (UUID 0x180F) expose the Battery Level characteristic (0x2A19), a single byte from 0 to 100 percent. The scanner reads it automatically. Many earbuds and phones report battery in other, vendor-specific ways that are not visible here.
Why is signal strength (RSSI) not shown?
RSSI comes from the device's advertising packets, which the page can only watch through the watchAdvertisements feature. It is available in recent Chrome versions on some platforms and may require the experimental web platform features flag. When it is not available the scanner says so.
Is it safe? Can the page change my device?
The scanner only reads values and subscribes to notifications; it never writes to a device. You choose the device in the browser's own dialog, and the connection ends when you press Disconnect or close the page. No data leaves your browser.
What do the UUIDs mean?
Standard Bluetooth services and characteristics have 16-bit numbers assigned by the Bluetooth SIG, such as 0x180D for Heart Rate, which appear inside a full 128-bit UUID ending in -0000-1000-8000-00805f9b34fb. Other 128-bit UUIDs are defined by the device maker.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.