
On this page
Browser fingerprinting is a technique that identifies and tracks a visitor by combining dozens of small, observable characteristics of their browser and device into a single distinctive signature. Think of it like recognizing someone by their height, voice, and gait rather than their name tag. Unlike cookies, a fingerprint is built from data the browser exposes by default — User-Agent (the browser's self-description), installed fonts, canvas and WebGL rendering quirks (tiny differences in how your hardware draws graphics), audio context output, screen resolution, TLS handshake order (TLS is the encryption layer behind https) — and persists even when the user clears cookies or switches to incognito mode.
Quick facts
| Also known as | Device fingerprinting, passive fingerprinting |
|---|---|
| Common signals | Canvas, WebGL, AudioContext, fonts, TLS/JA4, HTTP/2 frames |
| Used by | Cloudflare, DataDome, PerimeterX, Akamai, fraud-prevention vendors |
| Cookie-free | Yes — fingerprints survive incognito mode and cookie clearing |
Code example
// A few of the signals a fingerprinting script collects and hashes.
const signals = {
userAgent: navigator.userAgent,
platform: navigator.platform,
languages: navigator.languages,
hardwareConcurrency: navigator.hardwareConcurrency,
deviceMemory: navigator.deviceMemory,
timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
screen: [screen.width, screen.height, screen.colorDepth],
// Canvas, WebGL, fonts and audio add many more entropy bits.
};
// These are combined into one stable hash that survives cookie clearing.
const fingerprint = JSON.stringify(signals);Related terms
Concept map
How Browser Fingerprinting connects
The terms most directly tied to this one. Hover a node to see its neighbours, click to preview, drag to rearrange.
Frequently asked questions
How unique is a browser fingerprint?
EFF's Cover Your Tracks finds that 80–90% of browsers have a fingerprint that's unique within their visitor set — meaning no one else in that group looks the same. The exact uniqueness depends on how many signals are collected; fifteen well-chosen signals are enough to identify most users.
Does using a VPN change my fingerprint?
A VPN changes your IP address, not your fingerprint. The canvas hash, TLS signature, screen resolution, and fonts stay exactly the same. Sites can link the VPN IP to the unchanged fingerprint, and the mismatch between location and device often gets you flagged.
Why can't a single signal be changed to hide automation?
Any one signal can be set to an arbitrary value, but anti-bot vendors check whether the signals agree with each other. Changing the User-Agent without TLS, canvas, WebGL, and Audio also lining up produces a combination that doesn't exist on any real device — which is itself a strong signal that the request is automated.
What's a TLS fingerprint?
It's the JA3 or JA4 hash derived from the order and contents of the TLS ClientHello — the first packet a client sends to start an encrypted connection. Chrome, Firefox, Safari, curl, and Python's requests each send a recognizably different ClientHello, so sites use it to spot non-browser clients no matter what User-Agent they claim.
Last updated: 2026-05-31