OfflineAudioContext + DynamicsCompressor produces a tiny floating-point sum that varies by ~12 bits across hardware. No mic permission required.
Audio fingerprint test — silent tracking, no mic
Live test
This card runs only the audio fingerprint probe. To run all six fingerprint surfaces at once, use the full browser fingerprint test.
What is an audio fingerprint?
An audio fingerprint is a tiny floating-point sum produced by running a synthetic signal through an OfflineAudioContext with a DynamicsCompressor in the chain. Because compressors involve nonlinear math and the result depends on the underlying CPU's floating-point precision plus the V8/SpiderMonkey audio implementation, the sum varies between machines by ~12 bits of entropy.
Audio fingerprinting was popularized in academic research circa 2016 and is now in every major commercial fingerprint vendor. It runs in milliseconds, requires no permissions, plays no sound, and works in incognito.
How the audio test works
The test creates a 1-second 44.1 kHz OfflineAudioContext, attaches a triangle wave oscillator at 10 kHz, routes it through a DynamicsCompressor with specific threshold / knee / ratio / attack / release parameters, calls startRendering(), and then sums the absolute values of samples 4500–5000 from the rendered buffer. That floating-point sum, formatted to 8 decimal places, is the fingerprint.
Run the test twice — same number. Run it on a friend's machine — different number. Combined with your canvas and WebGL hashes, the audio sum becomes a powerful tracking signal.
How to block audio fingerprinting
The honest defense is to perturb a small number of samples returned by AudioBuffer.prototype.getChannelData with multiplicative noise so faint it's inaudible — but enough to scramble the fingerprint sum. Naive defenses that add a constant offset to every Nth sample produce a periodic spike pattern that's itself detectable.
Browser Leaks Fingerprint Shield applies seeded multiplicative jitter to a sparse set of samples (~1 in 1024). The audio sounds identical, but the audio fingerprint hash changes on every page load. Install it and refresh this page.
Audio fingerprint questions
Does the audio test play any sound?
Does the audio fingerprint test ask for microphone permission?
Why is the audio fingerprint stable across reloads?
Does muting my browser change the audio fingerprint?
Run the full browser fingerprint test.
See your composite hash across all six surfaces — canvas, WebGL, audio, WebRTC, Client Hints, and User-Agent — in one click.
Open the browser fingerprint test →