Learning objectives
After reading this article you will be able to:
- Follow the drawing, readback and hashing steps
- Identify factors that can change Canvas output
- Compare Canvas readings using the same test
How a Canvas fingerprint is created
The test asks the browser to draw a fixed sample and reads the resulting pixels.
A sample may combine text, shapes, gradients or overlapping colors. The page can read the Canvas output through supported APIs and turn it into a short hash. Comparing hashes is convenient because a pixel-level difference can be difficult to see by eye.
The drawing belongs to the webpage. This measurement does not capture your desktop or require the page to see other application windows.
Why the same drawing can produce different values
Rendering depends on the software and resources used to produce the image.
- Browser engine: drawing and text implementation can differ between browsers and versions.
- Fonts: available fonts and fallback choices change text metrics and pixels.
- Graphics and operating system: drivers and rendering components can affect output.
- Privacy settings: a browser may restrict readback, standardize data or add noise.
The same computer can therefore produce different results in two browsers. Conversely, two similar environments can produce the same result in a limited test.
How to compare Canvas results
Use the same page and sample, then change one condition at a time.
| Observation | Useful interpretation |
|---|---|
| Same hash after a refresh | The measured output repeated in that test |
| New hash after a browser update | The rendering path or test behavior may have changed |
| Different hashes on two websites | The samples or calculations may differ |
| Matching hashes in two profiles | Check whether both expose the same real rendering output |
To check a managed profile, record its current Canvas mode, refresh the test and then stop and reopen the profile. If you change a setting, repeat the same sequence. Our Multilogin test used this approach to distinguish a deliberate Canvas change from variation between launches.
Why Canvas belongs alongside other signals
Canvas measures actual rendering rather than a reported browser label. Reading it alongside version, fonts and graphics information provides context for a result that would otherwise be just an opaque string.
Interpreting the result
- Matching output describes this sample; it does not establish a unique person or device.
- Different websites can calculate different Canvas hashes from the same browser.
- A blocked or modified result needs interpretation in light of browser protections.
Frequently asked questions
Is a Canvas hash my hardware serial number?
No. It is a digest of a measured output. Software, fonts, settings and the test sample all matter.
Does clearing cookies change Canvas?
Clearing cookies does not normally change the rendering components. Some browser protections may tie randomization to session or site-data lifecycle, so inspect the actual behavior.
Does blocking image downloads stop Canvas fingerprinting?
Canvas can generate drawings locally through script. Blocking downloaded images alone does not necessarily stop that process.
References
Next steps
WebGL fingerprinting and GPU information