Basics
Browser Fingerprint Explained: What Sites Read About You
Sites build a browser fingerprint from dozens of signals — no cookies needed. Learn what they read, how canvas and WebGL work, and where spoofing helps.

A browser fingerprint is a unique identifier assembled from technical attributes your browser exposes during every page load — without cookies, without login, and without your consent. Sites combine your GPU model, screen resolution, installed fonts, timezone, and dozens of other signals to create a profile that's statistically unique to your device. Unlike cookies, it can't be deleted by clearing your history.
What Is a Browser Fingerprint
A browser fingerprint is a profile built from data your browser sends as a matter of routine: user-agent string, screen size, installed fonts, timezone offset, language settings, GPU renderer, and more. When enough of these signals are combined, the resulting profile is statistically unique — distinguishing your browser from millions of others without storing anything on your device.
The process happens silently. A JavaScript snippet on any page can query dozens of browser APIs in milliseconds, hash the collected values, and send the result to a tracking server. No cookie is set, no permission is requested, no browser prompt appears.
The concept of using technical attributes as a passive identifier was formally documented in Peter Eckersley's 2010 EFF study, which found that roughly 94% of browsers in the dataset had a fingerprint unique enough to track users across sessions. The entropy has only grown since: higher-resolution displays, more GPU models, and richer browser APIs all mean more signals to combine.
For everyday browsing, fingerprinting mostly surfaces as ad retargeting — seeing ads for something you searched on a different device. For people managing multiple accounts across platforms, it's the core adversary: platforms cross-reference fingerprints to detect that separate accounts belong to the same physical device.
What Data Points Build Your Fingerprint
Your browser fingerprint draws from dozens of APIs grouped into distinct layers: browser and OS identity, screen properties, hardware specs, rendering behavior, locale and time, and network signals. No single signal uniquely identifies you on its own — it's the combination that creates enough entropy to single out one browser among millions.
!A human silhouette formed from many floating glass fragments converging above a metal pedestal, symbolizing data points combining into a fingerprint.
Here's how those signals break down by category:
| Category | Signals collected |
|---|---|
| Browser & OS | User-agent, browser version, OS type, platform, language, DNT header |
| Screen & display | Resolution, color depth, pixel ratio, viewport size, orientation |
| Hardware | CPU core count, device memory tier, touch support, maximum touch points |
| Rendering | Canvas hash, WebGL renderer/vendor string, WebGL extension list |
| Locale & time | Timezone offset, system locale, date format preference |
| Network | IP address, public IP geolocation, HTTP Accept headers |
| Media & APIs | Supported audio/video codecs, Web Audio fingerprint, battery API |
| Fonts | Installed font list, measured via canvas text rendering dimensions |
This table isn't exhaustive. Advanced fingerprinting scripts also probe CSS media queries, look for artifacts left by browser extensions, measure JavaScript engine performance timing, and test which experimental APIs are available. Each probe adds incremental entropy — and each inconsistency between probes becomes its own high-value signal.
Canvas Fingerprint: How It Works
Canvas fingerprinting works by drawing invisible text and shapes to an HTML5 <canvas> element and reading the resulting pixel data as a hash. Because pixel output varies depending on your GPU, graphics driver, operating system, and anti-aliasing engine, the hash is unique to your hardware and software stack — and stable across every browser session on that machine.
!A frosted canvas on a metal easel displaying a glowing cyan fingerprint painted by a floating glass stylus.
The technique was described in academic literature in 2012 and spread into mainstream tracking infrastructure by 2014. Subsequent research found canvas fingerprinting scripts on a substantial share of the most-visited websites, typically delivered through third-party ad and analytics SDKs rather than by the sites themselves.
What makes canvas fingerprinting particularly resilient is that it survives every standard privacy measure. Deleting cookies doesn't affect the rendering pipeline. Private mode doesn't change the GPU. Clearing browser storage doesn't alter how your hardware draws a glyph. The only point of intervention is at the API level — either injecting controlled noise before the pixel data is returned to the script, or substituting a consistent fake hash that looks like a real device.
The noise approach is commonly misapplied. Returning a different random hash each time a site queries the canvas is detectable: a browser that can't produce consistent canvas output is itself an unusual fingerprint. Effective canvas spoofing means picking one fake value per profile and returning it every time — the same fabricated output, consistently.
WebGL Fingerprint: Your GPU on Display
WebGL fingerprinting uses the browser's 3D graphics API to extract GPU identity information. Calling gl.getParameter(gl.RENDERER) returns a string like "ANGLE (NVIDIA GeForce RTX 4070 Direct3D11 vs_5_0 ps_5_0)". Combined with the vendor string, supported extension list, and maximum texture sizes, this gives fingerprinting scripts detailed hardware intelligence — often enough to distinguish two otherwise identical computers running different GPU generations.
Beyond parameter queries, scripts can also render a 3D scene and hash the pixel output — a three-dimensional analogue to canvas fingerprinting. The GPU pipeline introduces rendering variations similar to the 2D canvas case, and the resulting hash is equally stable across sessions.
Blocking WebGL entirely is a tempting countermeasure, but it's counterproductive in practice. Legitimate sites use WebGL for maps, data visualizations, and browser-based games. A browser returning null for WebGL parameters is identifiably unusual — that absence is itself a fingerprint value. Effective WebGL spoofing returns plausible but fabricated RENDERER and VENDOR strings matching real hardware combinations that exist in the device ecosystem, plus a consistent fake render hash. The fake GPU identity also needs to match the OS: a NVIDIA GeForce renderer string paired with a macOS user-agent is an immediate contradiction that fingerprinting checkers catch in milliseconds.
Device Fingerprinting Beyond the Browser
Device fingerprinting extends the same signal-collection logic to hardware properties that sit beneath any browser setting. The navigator.hardwareConcurrency API reports CPU core count. navigator.deviceMemory returns RAM in coarse tiers. Screen pixel ratio separates Retina and high-DPI displays from standard ones. Touch event support and maximum touch points distinguish touchscreen devices from desktop hardware.
Combined with browser rendering signals, these hardware-level values build a fingerprint that persists through browser reinstalls, cookie resets, and user-agent changes — because the hardware itself hasn't changed.
Mobile fingerprinting works somewhat differently. Millions of users share identical hardware configurations — the same iPhone model on the same OS version — so browser-level fingerprints on mobile have lower entropy than their desktop equivalents. Ad networks compensate with platform-specific identifiers (IDFA on iOS, AAID on Android), persistent storage mechanisms, and probabilistic matching based on behavioral signals.
Cross-device fingerprinting takes this a step further: correlating fingerprints across desktop and mobile to build a household-level profile. If the same ad pixel fires on two devices sharing a home IP address and displaying similar behavioral patterns, the platform can link those sessions even without any shared cookie or login — purely through signal correlation.
How Sites Actually Use Your Fingerprint
Sites use browser fingerprints for three primary purposes: fraud prevention, ad tracking, and bot detection. Fraud prevention is the defensive case — linking a current session to a previously flagged device, even if the user cleared cookies or logged in under a different account. Ad tracking is the offensive case — following users across sites and sessions for retargeting. Bot detection uses fingerprinting to distinguish human browsers from automated headless instances.
In financial services and e-commerce, a fingerprint is a risk signal attached to device history. If a checkout request arrives from a browser whose fingerprint matches a device associated with past chargebacks or account takeovers, that triggers additional verification — regardless of what credentials were entered.
Advertising networks collect fingerprints on behalf of thousands of sites simultaneously through third-party pixels. A single tracker fires on every site in the network, assembling a browsing history that's broader and more persistent than any single site's cookie — and it survives cookie deletion entirely.
Anti-bot platforms — Cloudflare, Akamai, PerimeterX, and similar services — layer fingerprinting with behavioral analysis. They check not just what your browser reports, but how it behaves: mouse movement entropy, keystroke timing, scroll patterns, API call sequencing. A browser with human-looking fingerprint values but script-like behavioral patterns fails the behavioral layer, even if the fingerprint itself is clean.
Private Mode Doesn't Clear Your Fingerprint
Private browsing is widely misread as a privacy tool. What it actually does: isolate the session from your regular browsing history, delete session cookies and local storage on close, and prevent the browser from writing history to disk. What it doesn't do: change your screen resolution, GPU, installed fonts, timezone, CPU core count, or any other signal that contributes to your fingerprint.
Your fingerprint in private mode is identical to your fingerprint in normal mode. A site that tracks via fingerprinting sees the same device, the same profile, and the same history of prior visits — regardless of whether you opened an incognito tab.
VPNs change your IP address, which is one of the lower-entropy signals in any fingerprint profile. Sites that take fingerprinting seriously weight rendering signals — canvas hash, WebGL renderer, font list — far more heavily than IP. A VPN user with an unchanged canvas hash is still trackable across sessions; only the apparent location changes.
DNS-over-HTTPS and ad blockers address adjacent problems but not fingerprinting itself. DNS-over-HTTPS prevents ISP-level inspection of your queries. Ad blockers can block fingerprinting scripts they're aware of — but novel scripts, first-party implementations, and scripts bundled into legitimate CDN libraries pass through unchallenged. These tools offer partial mitigation against specific known scripts, not systematic coverage of the fingerprinting surface.
Fingerprint Spoofing: What It Means
Fingerprint spoofing means intercepting API calls that return fingerprint signals and substituting fabricated values — so any tracking system reads a different device than the one actually running the browser. Effective spoofing has two hard requirements: the fake values must be internally consistent (matching a plausible real device that exists in the wild), and they must be stable (returning the same values every time across the session).
Consistency is where naive spoofing attempts fail. A browser reporting a Windows user-agent but producing a canvas render pattern characteristic of macOS is creating a detectable contradiction. A screen resolution of 2560×1440 that doesn't match the reported device pixel ratio is another. Fingerprint checkers catch these mismatches automatically.
Two broad technical approaches exist:
Noise injection randomizes fingerprint values per session or per page load. It's simple to implement but leaves a meta-pattern: a browser whose canvas hash changes on every visit is identifiably unusual. Noise injection disrupts cross-session tracking without creating a believable identity.
Profile-based spoofing assigns a fixed set of coherent fake values to a browser session — one fake GPU, one fake screen resolution, one fake font stack — matching a real device configuration. The session looks like a stable, real device to any fingerprinting system. This is the architecture used in antidetect browsers and is the only approach that genuinely replaces one identity with another rather than just noisily obscuring the real one.
How Antidetect Browsers Handle Fingerprints
Antidetect browsers are purpose-built to create isolated browser profiles, each with its own complete and internally consistent fingerprint. Rather than patching a handful of API responses, they intercept fingerprinting at the browser engine level and substitute a full coordinated identity: user-agent, canvas hash, WebGL renderer string, font list, screen resolution, timezone, and device hardware parameters — all calibrated to match a real device combination that exists in the ecosystem.
!A row of translucent glass masks with one glowing amber mask holding a layered fingerprint inside, representing antidetect browser profiles.
Each profile stores its fingerprint independently. Opening fifty profiles means fifty distinct identities: different GPUs, different font stacks, different rendering outputs. To any platform running fingerprint-based account matching, those profiles represent fifty separate physical devices. This architecture is the foundation of multi-account management in paid social advertising, affiliate traffic, and e-commerce operations at scale.
The difference from a VPN paired with a standard browser is architectural, not cosmetic. A VPN changes the IP; an antidetect browser changes the browser identity at every layer a fingerprinting script can reach. Both layers are necessary: a proxy assigns a geographic IP that matches the profile's declared locale, while the antidetect browser ensures every rendered signal is consistent with that locale and device type.
The quality of fingerprint generation — how closely the fake profile matches real-world device distributions, how well signals correlate across all queried APIs — is the main technical differentiator between products. Tools like Dolphin Anty and GoLogin are built specifically for this workflow, with fingerprint configuration integrated directly into the profile creation flow.
Frequently Asked Questions
What is a browser fingerprint in simple terms?
A browser fingerprint is a unique ID created by combining technical attributes your browser exposes by default — screen size, GPU model, installed fonts, timezone, and more. Sites read these signals without storing anything on your device, which makes the identifier impossible to erase through standard privacy measures like clearing cookies or using private mode.
Can a VPN stop browser fingerprinting?
No. A VPN changes your IP address, which is one input among dozens in a fingerprint profile. The high-entropy signals — canvas hash, WebGL renderer, font list, screen resolution — are completely unaffected by a VPN. You get a different apparent location, but the same browser identity.
What is canvas fingerprinting, and why is it hard to block?
Canvas fingerprinting reads how your GPU and OS render invisible graphics drawn to an HTML5 canvas element. It's difficult to block because legitimate sites also use the canvas API for real rendering tasks; blanket blocking breaks page functionality. Selective script-based blocking is detectable, and randomizing the output (noise injection) is itself a fingerprint signal.
Is browser fingerprinting legal?
In most jurisdictions, using fingerprinting for tracking purposes falls under privacy regulations — GDPR in the EU, CCPA in California — which require disclosure and, in some cases, explicit consent. Enforcement varies considerably by country and regulatory authority.
Does fingerprint spoofing make you anonymous?
Spoofing breaks the link between your real hardware and your tracked identity, and it prevents cross-session linking based on fingerprint matching. It doesn't make you fully anonymous. Network-level signals, login identifiers, behavioral patterns, and probabilistic correlation can still connect sessions. Spoofing is a critical layer in a broader privacy or multi-account setup — not a complete solution on its own.
Sources
- Eckersley, P. (2010). How Unique Is Your Web Browser? Electronic Frontier Foundation. https://www.eff.org/files/2014/11/12/browser-uniqueness.pdf
- EFF Cover Your Tracks — interactive browser fingerprint tester. https://coveryourtracks.eff.org/
- Laperdrix, P. et al. (2016). Beauty and the Beast: Diverting Modern Web Browsers to Build Unique Browser Fingerprints. IEEE Symposium on Security and Privacy. https://hal.inria.fr/hal-01285470


