Canvas Fingerprint
Your canvas fingerprint uniqueness
Estimatingโฆ
Computed locally in your browser. Uniqueness is a heuristic estimate โ not from a global database.
How to use
- Open the page โ canvas probe runs automatically and produces a fingerprint ID.
- Read the data URL preview and SHA-256 hash in the components table.
- Refresh after toggling privacy extensions or canvas noise features.
FAQ
What is canvas fingerprinting?
Sites draw hidden text and shapes on a canvas, export PNG via toDataURL(), and hash subtle GPU/font rendering differences. The result can be unique per device and browser combo.
Why blocked or empty?
Privacy browsers (Tor, Firefox resist fingerprinting, Brave farbling) may block or randomize canvas export. The table shows blocked when toDataURL fails or returns unusable data.
Is the data URL sent to your server?
No. Drawing and hashing happen locally. We only display a truncated preview in the table.
Will my canvas ID match FingerprintJS?
Unlikely byte-for-byte โ commercial libraries use different draw routines and server-side matching. This is an educational probe using a fixed pattern.
Same canvas as What Is My Fingerprint?
Similar probe pattern; this page dedicates the full UI to canvas hash, preview length, and SHA-256 of the data URL.
How to reduce canvas tracking?
Enable canvas randomization in Firefox/Tor, use Brave fingerprinting protections, or block third-party scripts that perform canvas reads.
Introduction
Canvas Fingerprint runs a standard 2D canvas probe โ colored rectangle, filled and stroked text โ then hashes the resulting PNG data URL. That is the core technique ad-tech and fraud vendors use to distinguish GPUs, drivers, and font smoothing without cookies.
When privacy tools block or noise the export, you will see blocked in the table โ itself useful proof that protection is active.
What the probe draws
| Step | Detail |
|---|---|
| Canvas size | 220ร60 pixels |
| Fill | Orange rectangle + blue text |
| Stroke | Green semi-transparent outline text |
| Export | canvas.toDataURL() โ SHA-256 |
Tiny rendering differences across OS, GPU, and subpixel antialiasing produce different hashes.
Common use cases
- Before/after privacy settings โ confirm canvas farbling changes the ID.
- Compare browsers on one PC โ see how much canvas alone separates profiles.
- Developer education โ demonstrate why canvas read permissions matter.
- Stack with WebGL โ open WebGL fingerprint for GPU string layer.
Best practices
- Refresh twice in Tor/Firefox strict โ some modes randomize per session.
- Do not screenshot the data URL preview as โproof of identityโ โ it is a technical artifact.
- For combined environment hash, use what is my fingerprint.
- For browser-only layer, see browser fingerprint.