Glossary · protocol

What is Canvas fingerprint?

A canvas fingerprint is a unique signature derived from how a specific browser renders graphics — different GPUs, drivers, fonts, and OSes produce subtly different pixel output for the same rendering instructions. BotGuard and similar anti-bot systems use canvas fingerprinting to verify that a request comes from a real browser environment.

Also called:browser fingerprint · canvas fingerprinting

The browser's element can render arbitrary graphics in JavaScript and read the resulting pixels back via getImageData(). The math behind text rendering, anti-aliasing, color blending, etc. is deterministic in principle but varies slightly between OS / GPU / driver combinations. Drawing the same scene on a Mac M1 and on a Windows Intel laptop produces visibly identical results — but the per-pixel byte values differ enough to identify the device fingerprint.

YouTube's BotGuard uses canvas fingerprinting as one of dozens of signals to verify the player is running in a real browser. A headless browser (Puppeteer, Playwright) without proper GPU acceleration produces a canvas fingerprint that doesn't match any known "real" device profile, and BotGuard flags it. This is one of the harder anti-bot signals to spoof.

For downloaders, the implication: scraping operations that don't execute BotGuard in a real (headed) browser environment fail the canvas fingerprint check, lose access to PoToken generation, and get capped at lower-resolution formats.

Common questions

Can canvas fingerprinting identify me as a specific user?
Not uniquely on its own, but combined with other signals (timezone, screen size, fonts list) it gets within reach of unique identification. Privacy-focused browsers (Brave, Tor Browser) randomize canvas output to defeat fingerprinting.

Related terms

VidPickr is a free, browser-based YouTube downloader. Every term in this glossary either describes how YouTube delivers video or why your downloads behave the way they do. Try the downloader →