RunTheTests
/

BLE Device Scanner

Check a Bluetooth device connects and publishes what it should — from the browser.

How this talks to your device

Web Bluetooth is built so that a website can never enumerate what is around you. When the page asks for a device, the browser runs the scan itself and shows you a chooser listing what is advertising nearby; only the one device you select is ever passed to the page. So the chooser is the device list, and this page's job starts after you pick: it connects, asks the device which primary services it publishes, names the standard ones, and disconnects. Nothing is written and no characteristic values are read. Devices you have already permitted on this site can be listed separately, which is the closest thing to a persistent device list a page is allowed to have — and that permission can be withdrawn from your browser's site settings at any time.

What the results mean

Connection
Whether the device accepted a GATT connection. A refusal is common and informative rather than a fault — plenty of peripherals only talk to their own app, and one already connected to a phone will refuse a second.
Services published
The primary GATT services the device exposes. Standard ones are named from the Bluetooth SIG's assigned numbers; vendor-specific ones show their UUID because they have no published meaning.
Unnamed device
Many peripherals advertise without a name until connected, and some never publish one. It is not a sign of a problem.
Permitted on this site
Devices you have picked here before. The browser remembers the grant per site, and it is revocable from site settings — this page cannot see any device you have not chosen.

Common problems and fixes

The chooser is empty
Nothing in range is advertising. Most devices only advertise when unpaired or in pairing mode — a pair of headphones already connected to a phone will not appear. Put the device into pairing mode and try again.
The device appears but will not connect
Check it is not already connected elsewhere; most peripherals accept one connection at a time. Beyond that, many devices simply refuse connections that do not come from their own application, which is a design choice rather than a fault.
Nothing works on an iPhone or in Safari
Those platforms do not implement Web Bluetooth at all, on any browser — including Chrome for iOS, which uses Safari's engine underneath. Chrome or Edge on desktop, or Chrome on Android, are the options.
The device connects but shows no services
A page must declare the services it wants access to before connecting, and a device using entirely vendor-specific UUIDs will appear empty because the page could not know to ask. The GATT browser requests every standard service and will show more.

Frequently asked questions

Why can this not list every device around me?

Because being able to would make any website a proximity tracker. The set of Bluetooth devices near you is a strong identifier — it says a great deal about where you are and who you are near — so Web Bluetooth was specified so that only the browser sees the scan, and only your explicit choice reaches the page. The experimental scanning API remains behind a flag for the same reason.

Is it really scanning if I have to pick the device?

No, and the title is the search term rather than a description of the mechanism. The scan happens in your browser and the results are shown to you; the page receives one device. It is worth being clear about, because tools that imply otherwise are describing something the platform does not permit.

Does connecting here pair the device with my computer?

Not in the usual sense. A Web Bluetooth connection grants this site access to that device while you are on the page; it does not create a system-level pairing, and it disappears when you close the tab. The site's permission to see the device again is what persists, and it is revocable.

Can this page see my headphones or my watch?

Only if you pick them in the chooser, and only while the page is open. It has no way to discover them otherwise, no way to see them in the background, and no access to anything you did not select.

More in Device