跳至主要內容

本頁面暫無您所用語言的版本,您正在閱讀英文原文。

Free tools

Canvas fingerprint

A site asks the browser to draw a picture and folds its bytes into a number. That number is the canvas fingerprint, and here yours is shown together with whether it repeats from one read to the next.

Your values right now

The picture is drawn on this page, the number is computed right here and goes nowhere.

Canvas number
正在測量…
Two reads in a row matched
正在測量…
WebGL renderer
正在測量…
Pixel ratio
正在測量…

本頁的一切都在你的瀏覽器裡測量,從不離開它。沒有請求,沒有紀錄,不需要帳戶。

How the number is computed

The page draws text and shapes on an invisible canvas and reads the resulting pixels. Different graphics cards, drivers and fonts give slightly different pixels, and the number comes out particular to the machine.

Why repeatability matters

A live machine draws the same thing twice the same way. A number that changes from read to read becomes a marker itself: that is how random noise on top of a stock browser gives itself away.

What ARMANOS does

The canvas shift is derived from the profile number and does not change between launches: today and tomorrow the profile draws the same way, while a second profile draws differently.

The Fingerprint self-test inside the program (profile menu > Test fingerprint) tests the canvas not for repeatability but for removability: the same pixel read through different rectangles reads the same, a transparent one stays transparent, and the shift does not repeat on another drawing.

How to compare two profiles

Open the page in two profiles. The canvas numbers have to differ, and the «two reads in a row matched» row has to answer yes in both.

What this check does not show

  • The canvas number on other sites is different: they draw their own picture, and it does not have to match this number. What matters is that two profiles give different numbers.
  • A canvas with no graphics card. On a server without a card the software path draws, and its number is its own.
  • Fonts inside the picture. Part of the difference comes from the font the text is drawn with, and the fonts page says so.

Where this is decided

The readings are measured in your browser, and the promises below are backed by files you can open.

Readings on the page come from an allowed list
apps/web/components/site/LiveReadout.tsx
A profile's canvas is stable between launches and differs between two profiles
apps/desktop/test/fingerprint-consistency.js
The Fingerprint self-test tests the canvas for removable noise, not for repeatability
apps/desktop/test/audit-on-builtin.js

Questions

Why is the number different on another site?
The picture is different. A canvas fingerprint is a number for one particular drawing, and the comparison belongs to one drawing on two machines.
What does «no» in the second row mean?
Two reads of one picture gave different bytes. That does not happen on a live machine, and a site reads it as a substitution on top of the browser.
Is the picture sent anywhere?
No. It is drawn and computed in your browser.

Two profiles give two different answers

In ARMANOS these values are decided inside the browser engine before the page gets anything. Open two profiles, run the check in both and compare.