Browser privacy

Browser fingerprint stability test

Compare Canvas, WebGL and offline audio signatures between runs without sending the fingerprints to a server.

Interpret with care. A stable signature does not identify a person, and a changed signature does not prove tracking protection. Updates, display, graphics drivers, settings and random noise can alter it.

Ready. No fingerprint signal is sent to the server.

Stability

Comparable score—Run the test at least twice.
Saved runs0Up to 20 entries, stored only in localStorage.
Combined fingerprint—SHA-256 hash of available components.

Canvas 2D

Not tested
Fingerprint
—
What is drawn

Multilingual text, emoji, shapes, transparency, gradients, shadows and compositing. Three identical renders also reveal variation within a run.

WebGL

Not tested
Fingerprint
—
What is measured

A deterministic scene, WebGL capabilities, numerical limits, extensions, shader precision and, where permitted, the declared graphics renderer.

Audio

Not tested
Fingerprint
—
What is calculated

A synthetic offline render uses an oscillator, filter and compressor. No microphone or recorded sound is used.

Environment signals and differences

SignalCurrent valuePrevious comparison
No runs.

Local history

Dates and shortened fingerprints
DateCanvasWebGLAudioCombined
No saved runs.

Compare before and after

Run the same test on the same device and save a baseline. Activate your VPN or change one relevant setting, rerun under the same conditions and save the next result.

Save a before result and an after result to compare them.

What this test tells you

This test shows whether selected rendering outputs remain stable across runs. Stability can help explain how browser characteristics contribute to recognition, but it is not uniqueness. Without comparing a representative population, a repeated fingerprint cannot tell you how many other people share it.

How to run the test

  1. Keep the browser profile, device and display conditions fixed, and choose whether to retain local history.
  2. Run the test, then repeat once without changing anything to establish ordinary variation.
  3. Read Canvas, WebGL and audio components separately, including unavailable components and the labelled hashing algorithm.

How the measurement works

The browser renders deterministic Canvas and WebGL scenes and processes audio with OfflineAudioContext. Repeated renders within a run help reveal variation; no microphone is used.

Signatures normally use SHA-256, with a labelled fallback where needed. Computation and optional bounded history stay in the browser; fingerprints are not sent to our server or third-party services.

Understanding your results

Stable signatures
The measured components produced the same signatures under these conditions. That does not prove active tracking or absence of protection.
Signatures vary
A protection may add noise, but updates, graphics drivers, displays or settings can also change the output. Inspect which component moved.
Component unavailable
The browser did not supply a usable rendering or audio result. This remains a limitation of the measurement rather than a fabricated success or failure.

Compare before and after

  1. Save a baseline after two unchanged runs on the same device, profile and browser version.
  2. Change one relevant fingerprinting protection setting and run the same test again.
  3. Compare components and within-run variation, keeping the hashing algorithm constant. A VPN change alone should not be assumed to alter rendering.

Limits of the test

  • These three surfaces do not cover every method of recognising a browser.
  • Variation alone does not establish effective protection; websites may combine other signals or recognise patterns in the variation.

What to change, if needed

You want to reduce stable rendering details
Try a documented browser protection and compare its effect on each component, including any site compatibility issues.
History cannot be saved or cleared
Check site storage permissions and browser site data. The current tab result can remain available despite a persistence failure.

Frequently asked questions

Is a stable hash unique to me?

This test cannot establish that. It has no population database from which to calculate uniqueness.

Does the audio test record me?

No. It renders an offline synthetic audio signal without requesting microphone access.

Sources and technical references