Skip to content

About canvas based‐browser fingerprinting and Brave browser

Vincent Renaudin edited this page Aug 24, 2025 · 1 revision

Canvas Fingerprinting Interference (Brave Browser)

Piskel relies on pixel-perfect canvas colors. Any change to those values introduces noise. Some browsers, most notably Brave, apply canvas fingerprinting protection that deliberately perturbs pixel data when it is read back. This breaks rendering and permanently pollutes artworks.

More context from Brave: https://github.com/brave/brave-browser/issues/10000

Symptoms

  • Noise appears in your rendered Piskel artworks.
  • Your palette fills up with many nearly identical colors (generated by Brave’s internal perturbation algorithm).

Example of a noisy piskel artwork

Animation

Example of a corrupted palette

Report example

https://github.com/piskelapp/piskel/issues/1202

Recommendations

  • Disable canvas fingerprinting protection for piskelapp.com in Brave. Animation

  • Use a different browser (Chrome, Firefox, Edge…).

As of August 24, 2025, we do not plan to implement a workaround: avoiding pixel-perfect canvas rendering would require a fundamental rewrite of the engine.

Important Notes

  • Any Piskel artwork created in Brave will be permanently polluted by invisible noise. Even if you open the file later in another browser, the hidden noisy pixels will remain.

  • If you want to clean an artwork of noise: disable canvas fingerprinting (as recommended above), then use the bucket tool with a contrasting debug color to overwrite polluted areas and restore uniform color regions.

Animation

Clone this wiki locally