A browser has exactly one wideband receiver: the microphone. WiFi, cellular and Bluetooth are walled off on purpose, and that wall is the most interesting thing here. So: a real analyzer on the one band you do get, and an RTL-SDR driver for everything past it.
Probed on this device, in this browser, right now. The blocked rows are not missing features, they are refusals: a page that could silently enumerate the radios around you would be a surveillance tool, so the platform does not offer it. Bring your own receiver and the same browser hands you raw IQ without complaint, because then it is your radio and your antenna.
| Interface | Status | What you get, and what you do not |
|---|
A spectrum analyzer, a waterfall, and nine detectors for the signals that actually live in the audio band. Captured with all processing off, since noise suppression deletes exactly the narrowband tones these are hunting.
The compass magnetometer read as an instrument rather than a heading. Far too slow for radio, but it finds motors, magnets and live mains wiring, and shows which object on your desk is wrecking your compass.
For when you have a receiver pointed somewhere and want to know what you are looking at. Allocations differ by region; this is the common case.
A driver for the RTL2832U with an R820T or R820T2 tuner, the eight dollar dongle, talking to this page over WebUSB. No install, no server, no native code. Chromium only: Chrome, Edge and Opera, on desktop or Android.
A browser cannot open a raw TCP socket, so it cannot speak to rtl_tcp directly. It can speak WebSocket. Put a one line bridge in between and a dongle on any machine on your network becomes a receiver for this page.
rtl_tcp -a 127.0.0.1 -p 1234, then bridge it with websockify 8080 127.0.0.1:1234. The stream is unsigned 8 bit IQ pairs, which is what this client expects. Over plain ws:// this page must itself be served over http://, since a secure page may not open an insecure socket.Bulk-In, Interface (Interface 0) entry. Chrome can then claim it.blacklist dvb_usb_rtl28xxu in /etc/modprobe.d/, or unbind it for this session. You also need a udev rule granting your user access, otherwise Chrome sees the device and cannot open it.The law here is genuinely jurisdictional and worth knowing before you point an antenna at something.