Canvas fingerprinting is a method of recognising a returning visitor by measuring how their machine draws a picture. A script instructs the browser to render text or a graphic onto an HTML canvas element, reads the resulting pixels back, and hashes them into a short string. Two devices that differ in graphics processor, driver, operating system, installed fonts or display settings produce different pixels, and therefore different hashes. Nothing is written to the device, no permission is requested, and the whole operation completes in a fraction of a second. That combination is the reason the technique exists: it produces an identifier that survives the actions users take to clear cookies, and it does so without any of the visible machinery that cookie regulation was built around.
How the measurement works
The canvas element is a standard part of the web platform, added in HTML5 and used legitimately for games, charts, image editors and data visualisation. A fingerprinting script uses the same interfaces for a different purpose.
The sequence has three steps. First, the script draws to an off-screen or invisible canvas, typically using the two-dimensional context and the fillText or strokeText methods to write a string in a chosen font, size and colour. Fingerprinters favour strings that stress the renderer: pangrams containing many distinct letters, emoji, overlapping shapes and gradients. Second, the script extracts the result, either through toDataURL, which returns the whole canvas as a Base64-encoded image, or through getImageData, which returns raw red, green, blue and alpha values per pixel. Third, the extracted data is hashed, because storing a full image for every visitor would be expensive.
Variation enters at the rendering stage. Anti-aliasing, sub-pixel smoothing and font rasterisation are implemented differently across hardware and software stacks, so the same drawing command yields subtly different pixel values on different machines. A WebGL variant renders a three-dimensional scene rather than text and exploits the same principle at the graphics-processor level.
Sites rarely use one canvas. Research presented at the ACM Internet Measurement Conference in October 2025 by Elisa Luo, Tom Ritter, Stefan Savage and Geoffrey Voelker recorded an average of 3.31 fingerprintable canvases per site, with a median of two and a maximum of 60. Extra canvases add entropy, and they also serve a second function described below: detecting whether the browser is interfering.
The drawing that a given vendor uses is itself a signature. Because rendering is deterministic, every site running the same script produces byte-identical output on the same machine, which is what allowed the 2025 study to group sites by vendor without inspecting script URLs at all.
Who runs it, and where it sits
Canvas fingerprinting executes in the browser, on the publisher's page, before any auction begins. No OpenRTB field carries a canvas hash. The value is realised earlier, inside the vendor's own systems, where the hash is resolved against a store of previously seen devices and turned into an identifier that can then travel through the advertising stack in more conventional forms.
The vendor mix is not what the technique's reputation suggests. In the May 2025 crawl behind the IMC study, the widest reach among the Tranco top 20,000 belonged to Akamai, whose bot-detection canvas appeared on 485 sites, or 23 percent of those doing any canvas fingerprinting. FingerprintJS followed on 462 sites, though only 23 of those used the paid commercial product rather than the open-source library. Among tail sites, Shopify's storefront performance canvas dominated at 457. Fraud and bot vendors including Signifyd, PerimeterX, Sift Science, Adscore and the AWS application firewall appeared in smaller numbers.
Advertising use has not disappeared, it has migrated. The study found advertising companies including MGID, AIdata, adskeeper and trafficjunky running the open-source FingerprintJS library, and identified InsurAds, an advertising analytics firm, using fingerprinting for attention measurement. Roughly 45 percent of test canvases on popular sites were generated by scripts already listed on EasyList, EasyPrivacy or Disconnect.
Origin and evolution
Peter Eckersley's Panopticlick work at the Electronic Frontier Foundation established in 2010 that ordinary browser attributes carried enough entropy to identify most visitors. Canvas came two years later. In May 2012, Keaton Mowery and Hovav Shacham of the University of California, San Diego presented "Pixel Perfect: Fingerprinting Canvas in HTML5" at the Web 2.0 Security and Privacy workshop, proposing a fingerprint they described as consistent, high-entropy, orthogonal to existing methods and transparent to the user.
Measurement in the wild followed in November 2014, when Gunes Acar, Christian Eubank, Steven Englehardt, Marc Juarez, Arvind Narayanan and Claudia Diaz published "The Web Never Forgets" at the ACM conference on computer and communications security. Crawling the top 100,000 sites, they found canvas fingerprinting on more than 5.5 percent of homepages, across 20 provider domains. One company accounted for about 95 percent of the scripts: AddThis, a social bookmarking firm that had begun testing the technique earlier that year. The finding drew heavy press coverage and AddThis stopped.
The 2016 one-million-site study by Englehardt and Narayanan recorded 1.6 percent overall, rising to 5.1 percent among the top 1,000, and noted a shift in composition, with advertising firms retreating and fraud-detection companies arriving. The 2025 IMC measurement puts the figure at 12.7 percent of the top 20,000 sites and 9.9 percent of a random sample from further down the ranking - higher than a decade earlier, but concentrated in a small number of operators.
Browser countermeasures ran on a separate track. The Tor Browser added a permission prompt before canvas data extraction in 2013. Mozilla uplifted that prompt into Firefox 58 in January 2018, behind the privacy.resistFingerprintingpreference, which was off by default. Firefox 72 began blocking known third-party fingerprinting resources in January 2020. Apple's approach, described in WebKit's Private Browsing 2.0 documentation, injects small amounts of noise during 2D canvas and WebGL readback and returns fixed values for screen and window metrics. That protection reached all browsing sessions by default in Safari 26, released in September 2025. Firefox 145 completed a second phase of defences in November 2025, with Mozilla reporting that trackability fell by close to half.
Why it matters to the marketing community
The commercial stakes changed on 18 December 2024, when Google announced it would stop prohibiting advertisers from using device fingerprinting, a policy that took effect on 16 February 2025. The UK Information Commissioner's Office called the decision irresponsible the following day, noting that Google had itself argued in 2019 that fingerprinting subverts user choice. Chrome retired most Privacy Sandbox technologies in October 2025 after low adoption, having kept third-party cookies in April 2025, removing the alternatives that were meant to make fingerprinting unnecessary.
Consent obligations did not move with the policy. The Article 29 Working Party established in Opinion 9/2014 that fingerprinting falls inside Article 5(3) of the ePrivacy Directive, and the European Data Protection Board reaffirmed that position in Guidelines 2/2023, adopted on 16 October 2024. The ICO published final guidance on storage and access technologies, covering device fingerprinting alongside cookies and pixels, on 29 April 2026. In the framework layer, IAB Europe renamed Special Feature 2 from "Actively scan device characteristics for identification" to "Identify devices based on information actively requested", with compliance due in web environments by mid-October 2026 and in app and connected television environments by mid-February 2027.
Limitations and disputes
The technique is less durable than its reputation implies. Any change to a vendor's drawing sequence, or to the Canvas API itself, alters the hash and breaks re-identification for the entire installed base. The 2025 study found 179 top sites still running a roughly 2020-era FingerprintJS canvas alongside 462 running the current one.
Defences and evasions have converged into a standoff. Randomisation is detectable: a script can render the same canvas twice and compare, and about 45 percent of sites performing canvas fingerprinting do exactly that, discarding the canvas component when they see a mismatch. Blocklists fare worse than expected. Running the crawl again with Adblock Plus and uBlock Origin installed reduced the number of canvases extracted by only about 5 percent, partly because roughly half of fingerprinting sites serve at least one such script first-party, where ad blockers make exceptions. Noise injection is not immune either: Google's security research team disclosed in December 2024 that WebKit's canvas denoising could be reversed by scaling the canvas with image smoothing disabled, recovering the original pixels.
The sharpest open dispute concerns intent. The same measurement distinguishes bot detection from cross-site tracking only by proxy, through vendor self-description and blocklist membership. That distinction carries legal weight, since security purposes and marketing purposes attract different consent obligations, yet it is not visible in the traffic. US courts have not settled the matter either. A California federal court in Moody v. C2 Educational Systems declined in 2024 to accept that fingerprinting software fell outside the state's pen register provision, while other courts have reached the opposite conclusion on comparable tracking technologies.
Reach is also narrower than headline prevalence suggests. The most widely shared single canvas in the 2025 data appeared on 3 percent of the top 20,000 sites, a ceiling far below the cross-site coverage cookie-based trackers once achieved.
Distinguishing it from adjacent terms
Browser fingerprinting is the superset. It covers every stateless identification signal, from HTTP headers and installed fonts to audio processing and screen metrics. Canvas fingerprinting is one component, generally the highest-entropy one.
Cookies and web storage are stateful. They work by writing an identifier to the device and reading it back, which is why deleting them works. A canvas fingerprint stores nothing, which is precisely why deletion does not affect it.
WebGL and GPU fingerprinting overlaps with canvas but reads different signals. Rather than measuring rendered pixels, it queries the graphics interfaces for vendor strings, renderer strings and supported extension lists.
Client Hints are a request-based mechanism through which a site asks the browser for specific device characteristics. The data is volunteered by the user agent rather than inferred from rendering output, and it is this active-request model that the renamed TCF Special Feature 2 now describes.
Recent developments
Brave began a phased rollout on 13 August 2026 of three protections in version 1.93 that target the graphics signals adjacent to canvas. The browser replaces WebGL vendor and renderer strings with a single value identical for every user, empties WebGPU adapter descriptors, and randomises the WebGL extension list per session and per site. Brave published no figure for the resulting reduction in identifiability, and the changes cover desktop and Android only.
The direction of travel on the platform side runs the other way. Google told AdSense publishers in June 2026 that it would begin using IP addresses for measurement and personalisation across the European Economic Area, the United Kingdom and Switzerland from 3 August 2026, backed by privacy-enhancing technologies and a corresponding update to its IAB Europe registration. As of August 2026, the identification technique that browser engineers treat as an attack remains a permitted input in the largest advertising platform's policy documents.
Timeline
- 2010 - Peter Eckersley's Panopticlick research at the Electronic Frontier Foundation demonstrates that ordinary browser attributes uniquely identify most visitors.
- May 2012 - Keaton Mowery and Hovav Shacham present "Pixel Perfect: Fingerprinting Canvas in HTML5" at the W2SP workshop, describing the technique for the first time.
- September 2013 - The Tor Browser adds a permission prompt before websites can extract canvas image data.
- Early 2014 - AddThis begins testing canvas fingerprinting as a cookie replacement.
- November 2014 - "The Web Never Forgets" reports canvas fingerprinting on more than 5.5 percent of the top 100,000 sites, with about 95 percent of scripts served by AddThis.
- October 2014 - The Article 29 Working Party issues Opinion 9/2014, confirming that device fingerprinting falls within Article 5(3) of the ePrivacy Directive.
- 2016 - Englehardt and Narayanan measure canvas fingerprinting on 1.6 percent of the top one million sites and document a shift toward fraud-detection vendors.
- January 2018 - Firefox 58 uplifts the Tor Browser canvas prompt behind the
privacy.resistFingerprintingpreference, off by default. - January 2020 - Firefox 72 begins blocking known third-party fingerprinting resources by default.
- 2023 - Safari 17 introduces Advanced Fingerprinting Protection in Private Browsing, injecting noise during 2D canvas and WebGL readback.
- 16 October 2024 - The European Data Protection Board adopts final Guidelines 2/2023 on the technical scope of Article 5(3), covering fingerprinting.
- 18 December 2024 - Google announces that its platform policies will permit advertiser use of device fingerprinting.
- 19 December 2024 - The UK Information Commissioner's Office describes the change as irresponsible.
- 20 December 2024 - The ICO opens consultation on draft guidance covering storage and access technologies including device fingerprinting.
- 26 December 2024 - Google's security research team discloses a method for reversing WebKit's canvas noise injection.
- 16 February 2025 - Google's revised platform policies take effect.
- May 2025 - UC San Diego and Mozilla researchers crawl 40,000 sites for the study later published at IMC.
- September 2025 - Safari 26 activates Advanced Fingerprinting Protection by default for all browsing sessions.
- October 2025 - "Canvassing the Fingerprinters" reports canvas fingerprinting on 12.7 percent of the top 20,000 sites.
- November 2025 - Firefox 145 completes a second phase of anti-fingerprinting defences.
- 29 April 2026 - The ICO publishes final guidance on storage and access technologies.
- 29 May 2026 - IAB Europe renames TCF Special Feature 2 and revises vendor guidance on Client Hints used for fingerprinting.
- 3 August 2026 - Google begins using IP addresses for measurement and personalisation across the EEA, UK and Switzerland.
- 13 August 2026 - Brave begins rolling out three GPU fingerprinting protections in version 1.93.
Related PPC Land coverage
- Brave cuts three GPU fingerprinting signals in version 1.93 by default - Details the August 2026 rollout of WebGL and WebGPU protections and the absence of a published entropy figure.
- Safari 26 tracking changes to impact marketing measurement - Sets out how Advanced Fingerprinting Protection restricts high-entropy interfaces including 2D canvas for scripts classified as fingerprinters.
- Firefox cuts fingerprinting trackability in half with new protections - Covers Mozilla's second phase of defences in Firefox 145 and the reported reduction in identifiable users.
- Google to lift fingerprinting restrictions amid privacy concerns - Reports the December 2024 policy change permitting device fingerprinting and the UK regulator's response.
- Google to leverage IP addresses for CTV advertising - Documents the February 2025 effective date of the IP address targeting policy for connected television.
- IAB Europe updates TCF consent rules for multi-device, fingerprinting, and CTV - Explains the Special Feature 2 rename, the Client Hints guidance and the compliance deadlines for CMPs.
- Chrome kills most Privacy Sandbox technologies after adoption fails - Lists the technologies retired in October 2025 and the adoption problems behind the decision.
- Google keeps cookies - Reports the April 2025 reversal on third-party cookie deprecation in Chrome.
- Google to bring IP-based ads to EEA publishers from August 3 - Covers the AdSense notification and the privacy-enhancing technology framing behind the August 2026 launch.
- Firefox private browsing flaw let ad trackers fingerprint Tor users - Reports the IndexedDB vulnerability that produced stable identifiers surviving private browsing and identity resets.
Summary
Who - The technique was described by Keaton Mowery and Hovav Shacham at the University of California, San Diego, and first measured at scale by researchers at KU Leuven and Princeton. It is deployed today mainly by bot-detection and fraud vendors including Akamai, Signifyd, PerimeterX and Adscore, by the identification firm FingerprintJS through both its open-source library and its commercial product, by platforms including Shopify and mail.ru, and by advertising companies including MGID, AIdata and InsurAds. Browser vendors Mozilla, Apple, Brave and the Tor Project build countermeasures against it.
What - A stateless identification method that draws text or graphics to an HTML canvas element, reads the pixels back through toDataURL or getImageData, and hashes the result into an identifier. Differences in graphics hardware, drivers, operating system, fonts and rendering settings make the hash device-specific, and because nothing is stored on the device, clearing cookies does not reset it.
When - Proposed in May 2012, first documented in the wild in November 2014, and measured at 12.7 percent of the top 20,000 sites in research published in October 2025. Google permitted advertiser use of device fingerprinting from 16 February 2025.
Where - In the browser, on the publisher's page, before any auction. Roughly half of sites performing canvas fingerprinting serve at least one such script from a first-party path, which places it outside the reach of most ad blocker exception rules.
Why - It answers a problem created by cookie restrictions: how to recognise a returning device when stateful identifiers are deleted, blocked or partitioned. It also answers a security problem, since hardware consistency helps distinguish real devices from automation. Those two purposes are indistinguishable in the traffic itself but attract different consent obligations under European and UK law, which is the unresolved question at the centre of the practice.
Discussion