Browser fingerprinting: what it is, how it works
What browser fingerprinting is, why it cannot be deleted like a cookie, and the passive and active techniques behind it: headers, fonts, canvas, audio.
Official source: W3C, Mitigating Browser Fingerprinting in Web Specifications. Verified on
Contents
What it is
Fingerprinting is the process where a remote site or service gathers small pieces of information about a device and combines them into an identifier (EFF). Done through the browser it is browser fingerprinting; done through installed apps, which can also read details such as the last reboot time or the list of installed apps, it is device fingerprinting.
Trackers want an identifier that is persistent and unique. A fingerprint is not stored on your device, so unlike a cookie there is nothing to delete. The EFF's 2010 study, then called Panopticlick and now Cover Your Tracks, found that most browsers met both conditions (EFF). The main uses are ad retargeting and selling data to brokers; the EFF notes that the same signals also feed fraud and bot detection.
Two families
The W3C Privacy Working Group splits fingerprinting into two kinds (W3C):
- Passive. The tracker only looks at what arrives with each request, such as HTTP headers and network-level details. No code runs on your device.
- Active. The site runs JavaScript or other code to probe the browser and device. Because it happens on your side, the browser can in principle notice it.
That difference matters: only active probing can be blocked or answered with noise by your browser. Passive signals can only be made less distinctive.
The usual ingredients
| Technique | Family | What is read | Sources |
|---|---|---|---|
| User-Agent and other headers | Passive | Browser, version, operating system | W3C |
| Screen, time zone, OS version, battery | Active | Small settings that differ between people | EFF |
| Installed fonts | Active | Which fonts the device has beyond the standard set | W3C, Mozilla |
| Canvas | Active | Tiny differences in how a drawn image is rendered by your graphics stack | Mozilla, EFF |
| AudioContext | Active | Small differences in how audio is processed | EFF |
| Hardware hints | Active | CPU core count, touch points, available screen height | Mozilla |
None of these identifies you alone. The power comes from combining many weak signals, which is the arithmetic shown on how unique is your browser.
How each defence answers a technique
- Rounding or fixing values. Firefox's Suspected Fingerprinters protection reports CPU cores as 4 or 8 and touch points as 0, 1 or 5, and hides fonts that are not standard for your system (Mozilla).
- Adding noise. Firefox adds random data to canvas images only when a site reads them back (Mozilla). Brave's approach is on our farbling page.
- Making everyone identical. Tor Browser tries to shrink the number of groups users fall into; see Tor Browser and fingerprinting.
The W3C guidance itself prefers standardising values over randomising them, and asks spec writers to make fingerprinting easier to detect (W3C). The EFF adds a caution: a tracker may notice that randomising is happening, and that fact can become one more signal (EFF).
What the W3C admits
The working group calls its own recommendations "mitigations, not solutions" (W3C). No browser setting removes every technique above; the realistic aim is to look like a large crowd.
Try it on your browser
The browser check shows several of the active signals in this table (screen, time zone, languages, cores, touch points) as your browser reports them right now. Compare the result in a normal window and in a protected one.
Outside this page: Code samples for developers, and techniques the W3C and EFF pages we read do not name. We list only what those sources describe.
Something wrong or out of date on this page? Send a correction