invisible layer / ultrasonic
experiment 09 · microphone · all browsers
the inaudible
signals around you.
Retail stores and airports broadcast ultrasonic beacons at 18–22 kHz — inaudible to humans, tracked by apps with microphone access. Your phone hears them right now.
Retail stores and airports broadcast ultrasonic beacons inaudible to humans. A technique called ultrasonic cross-device tracking (uXDT) hides beacons in TV ads and retail environments. Your phone’s microphone — even if the screen is off — hears the beacon and reports back to the same ad server. Silverpush, Lisnr, and SilentSense all deployed this commercially.
kHz · strongest ultrasonic signal
waiting for microphone
peak freq
peak dB
0 beacons detected
15 – 22 kHz band
▶ how does this work?

Most microphones capture audio up to 22 kHz (the Nyquist limit at a 44.1 kHz sample rate). Human hearing typically falls off above 17–18 kHz with age. This experiment uses the Web Audio API with an AnalyserNode (FFT size 32768) to resolve the ultrasonic band into ~0.7 Hz frequency bins.

Known ultrasonic signals in the 15–22 kHz band:

  • 17.5 kHz — Youth alarm / "Mosquito" device (drives away teenagers)
  • 18.0–18.5 kHz — Silverpush beacon range (TV ad cross-device tracking)
  • 19.0–19.5 kHz — Common ultrasonic pest repellers
  • 20.0–20.5 kHz — Google Nearby / device pairing (Pixel / Android)
  • 21.0 kHz — Lisnr proximity marketing beacon

Most phone microphones roll off significantly above 20 kHz. Detection of signals above 21 kHz depends on your hardware. Holding the phone closer to a potential source improves detection reliability.

The 2015 FTC investigation found over 230 Android apps using the Silverpush SDK for ultrasonic tracking. The technique was effective because the microphone permission was already granted for other features.

On iOS, Safari requires a user gesture before getUserMedia() will succeed. Tap the button above to initiate the permission request.