# BLE Tester Online for IoT, Wearables, and Maker Hardware
This Web Bluetooth scanner lets you test whether a nearby Bluetooth Low Energy device is discoverable from a browser and which GATT services it exposes after permission is granted. It is useful when debugging ESP32 firmware, Arduino BLE sketches, smart sensors, fitness wearables, keyboards, custom beacons, environmental monitors, and prototype hardware before building a native mobile app.| What you see | What it means | What to check next |
|---|---|---|
| Device name | The advertised Bluetooth name, if the hardware broadcasts one. | If it is blank, check firmware advertising data or use a known name prefix during testing. |
| Device ID | A browser-scoped identifier, not the raw public MAC address. | Use it only for this browser session; do not treat it as a universal hardware serial number. |
| GATT service UUIDs | The service groups exposed after the connection is accepted. | Compare standard UUIDs with the Bluetooth SIG list or your firmware service table. |
| Custom service | A vendor-specific or project-specific UUID. | Open your firmware, mobile app profile, or BLE documentation to map characteristics and permissions. |
# Why Browser Bluetooth Scanning Is Different
Native BLE scanner apps often show continuous advertisements from many nearby devices. Web Bluetooth is deliberately stricter: the page must be opened in a secure context, the scan must start from a user click, and the browser shows a permission chooser. This protects users from silent tracking while still giving developers a practical way to connect to selected BLE hardware from JavaScript.Web Bluetooth scanner
Best for quick firmware validation, demos, support flows, classroom labs, and browser-based diagnostics where installation friction matters.
Native BLE app
Better for background scanning, RSSI logging, pairing workflows, encrypted vendor protocols, large characteristic trees, and long-term field diagnostics.
# Common Reasons a BLE Device Does Not Appear
- Bluetooth is disabled at the operating system level or the browser does not have Bluetooth permission.
- The device is connected to another phone, laptop, vendor app, or gateway and has stopped advertising.
- The hardware advertises only for a short window after boot or after pressing a pairing button.
- The browser is not Chromium-based, the page is not served over HTTPS, or the platform blocks Web Bluetooth.
- The firmware advertises manufacturer data but hides the local name, so the chooser may show an unnamed device.
- The device requires bonding, encryption, or proprietary authentication before services become readable.
# How to Use GATT UUIDs During Debugging
A successful connection with service UUIDs tells you that the browser can reach the peripheral and that the peripheral exposes at least part of its GATT table. Standard services such as Battery Service, Device Information, Heart Rate, Human Interface Device, and Environmental Sensing are easy to recognize. Custom UUIDs usually point to firmware-specific features and need the characteristic map from your source code or vendor documentation.| Symptom | Likely cause | Practical fix |
|---|---|---|
| Permission chooser is empty | Device is not advertising or browser support is missing. | Reboot the device, enable pairing mode, move closer, or retry in Chrome/Edge. |
| Connection fails immediately | Device is busy, out of range, or rejects the browser connection. | Disconnect vendor apps and keep the peripheral near the computer. |
| No services are listed | GATT is unavailable, services are hidden, or access was not granted for those UUIDs. | Add known optional services in firmware tests or inspect with a native BLE tool. |
| Only custom UUIDs appear | The hardware uses vendor-specific firmware services. | Map UUIDs to source code constants and document characteristic read/write permissions. |
# Security and Privacy Limits
- The page cannot silently collect nearby Bluetooth devices in the background.
- The browser may hide real MAC addresses and provide a scoped device ID instead.
- Access starts only after the user clicks the scan button and chooses a device.
- Results are not uploaded or stored by this website.
- Sensitive commercial devices may require encryption or a vendor pairing flow that this generic scanner cannot bypass.