Canvas fingerprint hash
A canvas tracker draws text and shapes off-screen, reads the pixels back, and hashes them. Tiny differences in your GPU, drivers and fonts make that hash stable for your machine and often different from anyone else’s — an identifier that needs no cookie. This tool does exactly that and shows you the result, in your browser.
Your canvas, rendered and hashed.
The hashes a tracker would store.
Nothing is uploaded. The canvas is drawn and hashed on your machine. Reload the page and your hash should return unchanged — that stability is the whole point of the technique.
Stable for you, different from others
The same text and shapes render slightly differently on each combination of GPU, graphics driver, operating system and installed fonts — sub-pixel anti-aliasing, rounding, font substitution. Your machine makes the same tiny choices every time, so the hash is stable; another machine usually makes different ones, so its hash differs. A tracker never has to see a cookie to recognise you again. The canvas fingerprinting glossary entry goes deeper.
Noise, not a blank canvas
Blocking the canvas or returning an empty image is itself a loud signal — almost no real browser does it. The approach that holds up is per-profile noise added where the pixels are read back, so each identity has its own stable, plausible hash instead of a missing one. Mosaic does this in C++ inside its own Chromium, so the noise is consistent across every frame and worker in a profile rather than bolted on with JavaScript a page can catch.
- Generate the hash. The page draws text and shapes to a hidden canvas, reads the pixels back, and hashes them — the same method a canvas tracker uses.
- Read your hash. You see the canvas image, its SHA-256 hash and a WebGL render hash. The same machine and browser produce the same hash each time.
- Understand stability. The tool explains why your hash is stable across reloads, and why two different machines usually hash differently.
What is canvas fingerprinting?
A tracker draws text and shapes to an off-screen canvas and reads the pixels back. Tiny differences in how your GPU, drivers and fonts render produce a value that is stable for your machine and often differs between machines — an identifier that needs no cookie.
Why is my hash the same every time?
Because the same machine and browser render the canvas the same way. That stability is exactly what makes it useful to a tracker: reload the page and the hash returns.
Does Mosaic just block the canvas?
No — a blocked or empty canvas is itself a signal. Mosaic adds per-profile noise to canvas and WebGL readback inside the engine, so each profile has its own stable, plausible hash instead of a missing one.
Every account its own browser. One price for all of them.
Free holds 3 profiles and 10 profile creations, with no card. Pro is $49 a month for any number, or $490 a year with 2 months free. Try it for 14 days; cancel before day 14 and you pay nothing.