Font fingerprint test
Which fonts a website can detect on your computer without asking, what that list says about your operating system, and whether two ways of measuring agree.
Measures text in each of 107 common font names against three fallback fonts, twice through canvas and once through page layout. Everything runs in this tab; nothing is sent to a server.
Measuring…
How font detection works
For each of 107 font names, the test measures a line of text at 72 px set in that font with each of three fallbacks (monospace, sans-serif and serif) and compares it with the fallback alone. A different width under any of the three means the system supplied a real font for the name. Three fallbacks are needed because a font can happen to match one: on Windows, Arial is the default sans-serif, so it only shows up against the other two.
The list mixes the default fonts of Windows, macOS, Linux and Android with fonts common across all of them. Each operating-system group votes for its system; the result names a system only when one clearly leads, and cross-platform fonts are listed without voting.
Measured three times, two ways
Installed fonts do not change between two measurements, so the canvas pass runs twice and should find the same list. It then asks the question again through page layout, with hidden <span> elements, and the two methods should agree: they reach the same font system. A made-up font name is measured as a control and must come back absent; if it is "detected", the widths are not real.
Last, the list is compared with the operating system the browser claims. The fonts come from the machine the browser actually runs on, so a Windows user agent with macOS or Linux fonts is a contradiction. The opposite mistake is harder to catch: Linux can install look-alike fonts with the same widths as Windows ones (Carlito for Calibri, for example), which measurement cannot tell apart. The browser fingerprint test has further checks for that, and the research note on the font stack under the user agent explains them.
Related surfaces
Fonts are also what the canvas fingerprint draws its text with, which is why the two often change together. WebGL, WebGPU and audio cover the hardware. For background, see what font fingerprinting is.
FAQ
How can a website know which fonts I have?
By measuring. A page sets a line of text in the font it is asking about, with a generic font such as monospace as the fallback, and measures its width. If the font is missing, the browser uses the fallback and the width equals the fallback's; if the width differs, the font is there. Doing this for a list of names takes milliseconds and needs no permission.
Can a site list all my fonts?
Not without asking. The Local Font Access API (queryLocalFonts()) can return every installed font, but only in Chromium browsers and only after the visitor grants a permission prompt. Measurement, as on this page, only answers for the names a script thinks to try.
Why does it detect Helvetica on Windows?
Because the system answers for it. Windows maps a few classic names to fonts it does have (Helvetica to Arial, for example), and Linux's fontconfig maps many common names to look-alike fonts. Chrome 155 on our Windows 11 machine detected Helvetica, Times and Courier this way. Detection tells you which names the system answers to, which is usually, but not always, the set of fonts installed.
Why do Safari and Brave show so few fonts?
Both restrict what pages can see. Safari lets pages use only the fonts that ship with the operating system, not ones the user installed, and Brave's fingerprinting protection hides part of the list. Fewer visible fonts make a browser look more like others of its kind, which is the point.
Can the font list reveal my operating system?
Usually. Windows, macOS and Linux each ship their own families (Segoe UI and Calibri; Helvetica Neue and Menlo; DejaVu and Liberation), and they come from the machine the browser runs on, not from anything the browser reports. That is why a browser that claims Windows while showing Linux fonts is one of the easier contradictions to spot. Installed software muddies it a little: Microsoft Office, for one, adds Windows fonts to Macs.
Does a font fingerprint identify me?
The default fonts of an operating system identify the operating system. What makes a list distinctive is what was added: design software, language packs, office suites. A machine with many extra fonts can stand out; a fresh install looks like every other fresh install.
Related free tools
Canvas fingerprint test
Your canvas hash, and whether it stays the same between reads and in a worker.
WebGL test and fingerprint
Whether WebGL works, the GPU it reports, its extensions and limits, and their hash.
What is my user agent?
Your User-Agent and Client Hints, and whether they agree with each other.
Browser fingerprint test
A few hundred coherence checks on the browser you open it in.
Clearcote puts this into practice
An open-source Chromium with fingerprint control compiled into the engine. A drop-in for Playwright & Puppeteer.
Free for one browser with GitHub. No card.