
We threw eight browsers at 157 distinct fingerprinting and privacy checks. Not some feel-good checklist cribbed from a marketing page. Not a single tool that spits out a green badge and lets you sleep at night. We ran WHOX's full gauntlet: 31 fingerprint integrity checks, 55 consistency cross-references, and 71 anonymizer detections. We then mapped results against Joe12387's independently kept resistance matrix, academic work from WWW'25, CRiSIS 2024, and NDSS 2022, and real-world tracking data from Fingerprint.com.
Results are grim. Most browsers do zilch. Browsers that try still get beaten by commercial trackers. And the two that genuinely work? You'll need to kiss half the web goodbye.
Here's what we found.
In brief: 8 browsers × 157 checks. Chrome scores 0/14 protections. Only Tor and Mullvad resist Fingerprint.com. Brave is trackable at 96%.
The Contestants
Eight browsers, four philosophies, one shared headache.
Chrome, Opera, Vivaldi: the naked ones. Chromium forks shipping zero fingerprinting resistance. Every API sits wide open. Every signal bleeds through unmasked. Users are inventory, and these browsers don't pretend otherwise.
Firefox, Safari, Brave: the patchwork defenders. Each one tackles the same beast from a different angle. Firefox ships a powerful toggle almost nobody flips. Safari leans on machine learning and generalization. Brave flings randomness at everything and crosses its fingers.
Tor Browser and Mullvad Browser: the bunkers. Built on a single blunt idea: make every user look alike. When everyone's fingerprint matches, nobody stands out. Costs run steep, though: wrecked websites, hobbled APIs, and that grinding low-level dread of being treated like a felon by every Captcha provider on Earth.
Joe12387's Resistance Matrix
Joe Rutkowski keeps one of the most widely cited independent fingerprinting resistance datasets on GitHub. His research pits browsers against 14 core fingerprinting tricks. We're using his July 2024 update as our baseline. We've tacked on Vivaldi, which he doesn't track separately and which, for fingerprinting purposes, behaves identically to Chrome.
| Technique | Chrome | Firefox | Brave | Safari | Tor Browser | Mullvad | Opera | Vivaldi |
|---|---|---|---|---|---|---|---|---|
| Canvas API | ❌ | ✅* | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| OffscreenCanvas | ❌ | ⚠️ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| AudioContext | ❌ | ❌ | ✅ | ⚠️ | ✅ | ✅ | ❌ | ❌ |
| OfflineAudioContext | ❌ | ❌ | ✅ | ⚠️ | ✅ | ✅ | ❌ | ❌ |
| WebGL Program | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| WEBGL_debug_renderer | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| Timing Resolution | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| hardwareConcurrency | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| deviceMemory | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| doNotTrack | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| Font Detection | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| Screen Properties | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ |
| jsHeapSizeLimit | ❌ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ |
| WebRTC | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ |
| Protected / 14 | 0 | 4 | 11 | 11 | 14 | 14 | 0 | 0 |
✅ = Resistant or disabled. ⚠️ = Partially resistant or bypassed. ❌ = Vulnerable.
*Firefox Canvas API resistance requires privacy.resistFingerprinting to be manually enabled.
A few things jump right off that chart.
Second: WebRTC leaks IP addresses in every browser except Tor and Mullvad, which shut it off wholesale. Not halfway. Entirely. A 2024 study from Sorbonne University and Snowpack, laid out at CRiSIS 2024, confirmed that WebRTC leaks linger even when using VPN, SOCKS, or HTTP/S proxy. A cross-platform measurement study from October 2025 branded WebRTC leaks one of the most overlooked privacy gaps hitting VPN users across all major browsers. Six of eight browsers ship with that hole wide open.
Third: Safari's audio fingerprinting shield is tagged as flawed because Fingerprint.com's own research cracked Safari 17's audio defenses. Apple patched holes. Fingerprint.com drilled new ones. Whack-a-mole, ad infinitum.
PrivacyTests.org: A Wider Lens
PrivacyTests.org runs a broader battery of privacy and fingerprinting tests, and its rankings confirm the pecking order with a few wrinkles. As of early 2026: Brave leads with 143 passes, Mullvad follows at 141, LibreWolf at 139, and Tor Browser at 132. Tor scores lower because it kills entire APIs rather than blocking individual trackers. PCMag's November 2025 testing confirmed Tor Browser leaks under 10 bits of identifying data, the lowest of any browser tested. More passes don't mean more shelter, though. More passes mean more things blocked. Whether those blocked things foil the specific tracker aimed at you is an entirely different riddle.
A Tracking Test Worth Caring About
Joe12387's matrix shows which APIs are shielded. What it can't tell you is whether those shields actually stop tracking. For that, we need to see how commercial fingerprinting outfits fare against each browser.
| Service | Chrome | Firefox | Brave | Safari | Tor | Mullvad | Opera | Vivaldi |
|---|---|---|---|---|---|---|---|---|
| Fingerprint.com | ⚠️ Trackable | ⚠️ Trackable | ⚠️ Trackable | ⚠️ Trackable | ✅ Resistant | ✅ Resistant | ⚠️ Trackable | ⚠️ Trackable |
| CreepJS | ⚠️ Trackable | ⚠️ Trackable | ⚠️ Trackable | ✅ Resistant | ✅ Resistant | ✅ Resistant | ⚠️ Trackable | ⚠️ Trackable |
Source: Joe12387 resistance research, July 2024.
How antidetect browsers fare against the same pipeline is a different saga, told in Exposing Antidetect Browsers: 11 Vendors × 300+ Signals.
Look at Brave's column again. Eleven of fourteen techniques resisted. Canvas farbled. Audio farbled. WebGL farbled. Fonts randomized. Hardware specs masked. Fingerprint.com still nails Brave users.
Welcome to the Brave Paradox.
The Brave Paradox
Brave is the browser that tries hardest and fails loudest.
EFF's Cover Your Tracks tool flags Brave as having a randomized fingerprint. Green check. Thumbs up. You're safe. Except you aren't.
Independent testing by Brside.com in December 2025 showed Fingerprint.com steadily re-identifying Brave users even after clearing all data and swapping IPs via VPN. With WebGL turned off, Fingerprint.com still hit 96% confidence with a suspectScore of 19. Same test found Firefox and Safari both broke re-identification with just a data clear and an IP swap.
Architecturally, Brave relies on what it calls farbling: deterministic randomization seeded per-session and per-site. Every canvas read spits back slightly different pixel values. Every audio buffer gets a nudge. On paper, randomization should make fingerprints labile, unstable enough that trackers can't latch on.
On paper, a lot of things work.
A paper at WWW'25 by Nguyen and Vadrevu from Louisiana State University, titled Breaking the Shield: Analyzing and Attacking Canvas Fingerprinting Defenses in the Wild, showed that statistical averaging defeats randomization-based defenses. Pull multiple canvas samples, average them, and the veridical fingerprint surfaces through the noise like a watermark. Researchers tested 18 browser extensions and 5 major browsers. Conclusion: no fully deployable defense against canvas fingerprinting attacks currently exists.
Brave's farbling also carries a history of implementation blunders. GitHub issues #12069, #13690, and #14135 revealed that canvas farbling originally touched only one RGBA channel, covered only a fraction of the total canvas, and in some cases couldn't even shift the fingerprint hash. Call that half-baked and you'd be generous.
Beyond canvas, Brave still exposes verbatim GPU model strings like Apple M1 Pro or Nvidia RTX 3080. Precise CPU core counts leak through. Hardware-bound audio signatures bleed out. Safari, by contrast, reports simply Apple GPU. Firefox in strict mode lumps variants as Apple M1, or similar and standardizes audio output to a uniform value around 35.75 for all users.
Here's the takeaway: randomization sounds clever. Standardization wins. Sprinkling noise on a signal does less good than ripping the signal out or hammering it into torpid uniformity across everyone. Castle.io's fraud detection blog put it bluntly in 2025: canvas noise IS the fingerprint. When a system spots that you're adding noise, that fact alone hardens into tracking sediment.
Firefox: A Half-Percent Riddle
Firefox has a nuclear option for fingerprinting resistance. privacy.resistFingerprinting, inherited from the Tor uplift project, does nearly everything right when you flip it on. CPU cores? Reported as 2. Device memory? 2 GB. Timezone? UTC. Window content area? Rounded to multiples of 200×100 pixels via letterboxing. Font enumeration? Curtailed. Audio output? Standardized.
Almost nobody flips it on.
Fingerprint.com's internal traffic data from August 2022 showed just 0.48% of all Firefox identification events coming from users with privacy.resistFingerprinting enabled. Firefox itself made up only 1.997% of all identification events. Crunch those numbers and the pool of Firefox users with genuine fingerprinting resistance is vanishingly tiny.
And that breeds its own paradox. People who care enough to enable RFP stick out precisely because so few bother. In Joe12387's matrix, Firefox's canvas resistance carries an asterisk because it only kicks in with RFP on. Without it, Firefox is wide open to canvas fingerprinting, audio fingerprinting, WebGL fingerprinting, font detection, and screen property leakage. Default Firefox blocks known tracking scripts through its Enhanced Tracking Protection blocklist but does nothing about the underlying fingerprinting surface.
Blocklists, by their nature, are always one step behind. Fresh fingerprinting scripts, obfuscated deployments, first-party setups: all of these slip past a list compiled last week.
WHOX spots Firefox RFP through several telltale signals. Letterboxed resolution in multiples of 200×100. CPU cores pinned at 2. Device memory pinned at 2 GB. UTC timezone regardless of actual whereabouts. We flag these not as threats but as privacy mode markers. Irony's thick here: spotting RFP is trivially easy, which means those 0.48% who enable it are identifiable as someone running Firefox with RFP. A crowd of fewer than five people per thousand isn't much of a crowd.
Tor and Mullvad: Sameness Over Noise
Tor Browser and Mullvad Browser share the same creed and much of the same codebase. Both build on Firefox with the Tor Project's anti-fingerprinting patches. Where they split is the network layer: Tor funnels traffic through the onion network, Mullvad expects you to bring your own VPN, ideally Mullvad's.
Strategy-wise, they're the antipode of Brave. Where Brave adds noise to make each session look different, Tor and Mullvad make every user look alike. Same user-agent string. Same reported screen dimensions. Same CPU count. Same memory. Same timezone. Same font list. WebGL: off. WebRTC: off. Audio: off.
Fingerprinting hinges on uniqueness, and when every user in a pool hands back identical values for every API, there's nothing to distinguish one person from another. Pool size doesn't need to be mammoth. Values just need to match.
Costs run high, though. WebRTC off means no video calls. WebGL off means no 3D graphics, no GPU-accelerated rendering, no smooth-zoom Maps. Audio off means no Spotify in the browser, no notification pings, no voice messages. Countless sites sniff out those missing APIs and serve degraded layouts, broken pages, or outright blocks.
Mullvad's own documentation lays out the philosophy plainly: hiding in the crowd is the only way to rein in today's absurd personal data collection. A January 2026 review confirmed via pixelscan.net that Mullvad Browser passes automated fingerprint consistency checks that trip up most privacy browsers, earning its Tor-without-Tor reputation honestly. As the Tor Project blog reminds us, citing Eckersley's research: by wanting more online privacy, you install extensions that ultimately make you more visible than before. Bolt any extension onto Tor or Mullvad and you've shattered the uniform fingerprint. You're trackable again.
In Joe12387's matrix, Tor and Mullvad are the sole browsers rated ✅ Resistant against both Fingerprint.com and CreepJS. Also the only ones stopping WebRTC IP leakage. Killing an API isn't elegant. Nobody would call it a defense in the classic sense. Yet it's the only approach that holds up.
Safari: Sharp Instincts, Soft Spots
Safari carves a third path, distinct from both Brave's randomization and Tor's enforced sameness. Apple uses what it calls Intelligent Tracking Prevention, a machine-learning system that classifies domains as trackers and clips their wings.
On the fingerprinting surface, Safari generalizes rather than randomizes. Instead of reporting Apple M1 Pro as the GPU renderer, Safari reports Apple GPU. Instead of exposing the full font list, Safari restricts enumeration. Instead of leaking exact screen dimensions, Safari standardizes window metrics. Hardware concurrency and device memory stay masked.
Safari 17 and later versions inject noise into canvas and WebGL readback in Private Browsing mode. With iOS 26 and Safari 26, announced at Wwdc in June 2025, Apple pushed Advanced Fingerprinting Protection to all browsing sessions by default. Noise injection on canvas, WebGL, and audio buffers. Fixed values for window and screen metrics. Per-site per-session fingerprint IDs that can't track cross-site.
Generalization is exactly why Safari outperforms Brave against Fingerprint.com. Every Safari user on an Apple device reports Apple GPU, so there's no GPU signal to split one user from another. Brave reports Nvidia RTX 3080, and the user might as well wear a lanyard with their name on it.
Safari has soft spots, though. Audio fingerprinting protection was cracked by Fingerprint.com's research on Safari 17. WebRTC stays vulnerable, leaking IP addresses through ICE candidates. Sorbonne/Snowpack's CRiSIS 2024 paper confirmed it hits Safari alongside every other non-Tor browser. Safari's ITP also depends on classification: if Apple's ML model doesn't flag a domain as a tracker, that domain gets full run of every fingerprinting API.
Platform lock-in is the other caveat. No Windows build. No Linux build. No Android build. Outside the Apple ecosystem, Safari's defenses are moot.
Ecosystem lock-in does buy some singular perks, mind you. iCloud Private Relay funnels Safari traffic through two separate relays, so no single entity sees both identity and destination. Link Tracking Protection strips known tracking parameters from URLs. ITP uses a machine-learning classifier rather than a static blocklist, making it more adaptive than Firefox's approach. Still, ITP has a structural blind spot: first-party fingerprinting. When a site collects your fingerprint directly, domain-level tracker classification can't step in.
Joe12387's matrix shows Safari resisting 11 of 14 techniques. Gaps sit at AudioContext, OfflineAudioContext, and WebRTC. Three holes suffice for commercial services to keep tracking.
Chrome, Opera, Vivaldi: Standing Naked
Not much separates Chrome, Opera, and Vivaldi when it comes to fingerprinting resistance, because there's nothing to separate. All three run on Chromium. None bolt on fingerprinting shields. All 14 techniques in Joe12387's matrix come back ❌ Vulnerable.
Chrome is the market leader and the reference build. Opera and Vivaldi stack on UI flourishes: sidebars, tab stacking, mail clients, assorted cosmetic gewgaws. Under the hood, the fingerprinting surface is identical. Canvas reads return raw pixel data. WebGL exposes the exact GPU model and driver version. Audio returns the true buffer. Fonts, screen dimensions, hardware concurrency, device memory, heap size: all exposed, all unique, all trivially trackable.
Google's stance on fingerprinting shifted sharply on February 16, 2025, when it reversed its 2019 policy and began letting advertisers use device fingerprinting in Google's own ad products. UK's Information Commissioner's Office fired off a public rebuke, citing Google's own 2019 statement that fingerprinting subverts user choice and is wrong. Privacy researcher Lukasz Olejnik asked whether it was the biggest privacy erosion in 10 years.
Chrome doesn't resist fingerprinting because Google doesn't want it to. Full stop.
Opera ships a built-in so-called VPN that's really an HTTPS proxy. WebRTC traffic doesn't go through it. Fingerprinting isn't touched. What you get is an ersatz sense of safety that may be worse than no shield at all.
Vivaldi markets itself as a power-user browser with deep customization. None of that customization reaches fingerprinting resistance. In our tests, Vivaldi was indistinguishable from Chrome across all 157 checks save for minor user-agent string tweaks.
WHOX Score Estimates Per Browser
We estimated scores for each browser in its default setup: no extensions, no VPN, no manual hardening. F-Score reflects fingerprint uniqueness, C-Score reflects internal consistency, A-Score reflects anonymizer and network leak detection. Trust Score rolls all three together. Scores range from 0 to 100; higher means harder to fingerprint.
| Browser | F-Score | C-Score | A-Score | Trust Score | Notes |
|---|---|---|---|---|---|
| Chrome | 15 | 85 | 50 | 48 | Fully exposed but internally consistent |
| Firefox | 20 | 80 | 55 | 50 | ETP blocklist helps A-Score slightly |
| Firefox and RFP | 70 | 60 | 65 | 65 | Letterboxing lowers C-Score via screen anomalies |
| Brave | 55 | 65 | 60 | 60 | High F-Score from farbling, but detectable noise |
| Safari | 60 | 75 | 55 | 63 | Good generalization, weak on WebRTC and audio |
| Safari 26 | 70 | 75 | 55 | 66 | Advanced FP Protection adds canvas/audio noise |
| Tor Browser | 90 | 50 | 30 | 56 | Excellent F-Score, low A-Score due to Tor exit detection |
| Mullvad | 85 | 55 | 60 | 67 | Like Tor without the network stigma |
| Opera | 15 | 85 | 45 | 47 | Fake VPN may lower A-Score vs Chrome |
| Vivaldi | 15 | 85 | 50 | 48 | Identical to Chrome in practice |
A few results need unpacking.
Tor's low Trust Score despite a 90 F-Score comes from the A-axis. A01 catches Tor exit nodes and stamps them Fatal. Tor's network is heavily linked to abuse traffic. From a fraud detection standpoint, Tor users are simultaneously the hardest to fingerprint and the most suspicious to run into. Perfect anonymity triggers maximum scrutiny, a paradox baked right into the architecture.
Brave's middling scores put the Brave Paradox into numbers. F-Score is decent because farbling does blur many signals. C-Score drops because farbling injects detectable inconsistencies. C38 compares canvas output between the main thread and a Web Worker. Brave's farbling hits both, but timing gaps and noise patterns can be cross-checked. Noise itself becomes a consistency signal, which is a deliciously ironic outcome.
Chrome's high C-Score makes a grimly logical kind of sense. A browser that exposes everything honestly has flawless internal consistency. Nothing's spoofed, nothing's masked, nothing clashes with anything else. Chrome gets a high C-Score for the same reason a streaker passes a wardrobe inspection: there's nothing to check.
Mullvad's 67 is the highest Trust Score on the board, edging out Safari 26. Mullvad gets Tor-level fingerprint resistance without the network-level taint of a Tor exit node. Paired with Mullvad VPN, the A-Score climbs because the VPN is a commercial product with residential-looking IPs, not a well-known anonymity network.
WHOX Checks Mapped to Browser Capabilities
Here's how each browser category holds up against the major check groups.
Fingerprint Integrity Checks
| Check | What It Tests | Chrome/Opera/Vivaldi | Firefox | Firefox+RFP | Brave | Safari 26 | Tor/Mullvad |
|---|---|---|---|---|---|---|---|
| F01 WebGL vendor/renderer | GPU hardware string | Exposed | Exposed | Masked | Farbled | Generalized | Disabled |
| F02 Canvas pHash | Perceptual canvas hash | Stable, unique | Stable, unique | Standardized | Noisy, detectable | Noisy | Standardized |
| F03 WebGL render test | WebGL output hash | Stable, unique | Stable, unique | Standardized | Farbled | Noisy | Disabled |
| F04 WebGPU features | GPU feature bitmask | Exposed | Exposed | Exposed | Partially masked | N/A | Disabled |
| F06 Audio CRC32 | Audio buffer fingerprint | Stable, unique | Stable, unique | Standardized | Farbled | Noisy | Disabled |
| F07 Fonts MinHash | Font enumeration hash | Unique | Unique | Restricted | Randomized | Restricted | Restricted |
| F21 GPU Timing | GPU execution timing | Exposed | Exposed | Exposed | Exposed | Exposed | Disabled |
| F27-F31 Advanced | MathML, SVG, CSS, Intl | Exposed | Exposed | Partially masked | Partially masked | Partially masked | Masked |
Key insight: GPU timing from the F21 check, grounded in Drawnapart research from NDSS 2022, fingerprints the silicon-level manufacturing quirks in GPUs. Immune to canvas farbling because it measures clock ticks, not rendered pixels. Brave's farbling can't touch it. Only killing WebGL outright, as Tor and Mullvad do, shuts it down.
Consistency Cross-Reference Checks
| Check | What It Tests | Fails On |
|---|---|---|
| C01 UA vs Client Hints | User-agent string matches Sec-CH-UA | Spoofed browsers, old extensions |
| C04 Platform vs GPU | Claimed platform matches GPU vendor | VMs, antidetect tools |
| C07 DNS geo vs IP geo | DNS resolver country matches IP country | VPN misconfigurations |
| C11 Engine integrity | Claimed engine matches detected engine | Antidetect browser forks |
| C12 JA4 vs UA | TLS fingerprint matches claimed browser | Antidetect tools using wrong TLS stack |
| C15-C16 Screen metrics | Resolution, DPR, color depth consistency | Spoofed display properties, RFP letterboxing |
| C34 Audio integrity | Audio API consistency checks | Noise injection extensions |
| C38 Canvas main vs worker | Main thread canvas matches worker canvas | Extensions that cannot intercept worker threads |
| C40 WebGPU vs WebGL paradox | WebGPU present but WebGL disabled | Selective API blocking |
| C48 Prototype integrity | Native prototype chains intact | API hooking, Proxy-based spoofing |
C38 deserves a closer look. Browser extensions inject content scripts into the main page context, where they can override functions like toDataURL or getImageData. Web Workers run in their own JavaScript context. Content scripts can't reach them. When a canvas drawn in a Web Worker returns a different hash than the same canvas drawn on the main thread, something's hijacking canvas calls at the main-thread level. CVE-2024-27830 validated exactly that risk: a Safari vulnerability where anti-fingerprinting protections failed to cover SharedWorker and OffscreenCanvas contexts. Joe12387 found it and reported it. Apple was initially unconcerned. They later assigned the CVE.
Anonymizer and Network Checks
| Check | What It Tests | Chrome/Opera/Vivaldi | Firefox | Brave | Safari | Tor | Mullvad |
|---|---|---|---|---|---|---|---|
| A01 Tor exit | Tor network detection | Clean | Clean | Clean | Clean | Fatal | Clean |
| A02 VPN detection | VPN usage signals | Clean | Clean | Clean | Clean | Tor | VPN detected |
| A05 JA4/JA3 | TLS Client Hello fingerprint | Real | Real | Real | Real | Standardized | Standardized |
| A09 WebRTC leak | IP leak via ICE candidates | Leaks | Leaks | Leaks | Leaks | Disabled | Disabled |
| A11 IPv6 leak | IPv6 bypasses VPN tunnel | Possible | Possible | Possible | Possible | Blocked | Blocked |
| A12 QUIC UDP-443 | QUIC bypasses VPN tunnel | Possible | Possible | Possible | Possible | Blocked | Blocked |
| A13 DoH auto-translation | Browser DoH bypasses VPN DNS | Possible | Possible | Possible | Possible | Blocked | Blocked |
| A14 mDNS device name | Device hostname leak | Possible | Possible | Possible | Possible | Blocked | Blocked |
| A18 H2 SETTINGS | HTTP/2 frame anomalies | Normal | Normal | Normal | Normal | Standardized | Standardized |
| A19 Headless detection | Automation markers | Clean | Clean | Clean | Clean | Clean | Clean |
Network leaks are where the gap between a privacy browser and an anonymity browser cracks wide open. Protocol-level fingerprints get dissected packet by packet in The First 100 Milliseconds. WebRTC check A09 is the headline act: every browser except Tor and Mullvad leaks IP addresses through WebRTC ICE candidates. Yes, Brave, which markets itself as a privacy browser. Yes, Safari with ITP. Yes, Firefox with ETP.
Sorbonne/Snowpack's 2024 paper at CRiSIS 2024 confirmed WebRTC leaks happen even when using VPN, SOCKS, or HTTP/S proxy. Only way to fix it? Kill WebRTC outright, which torches video calls, voice calls, and real-time comms. Tor and Mullvad swallow that tradeoff. Nobody else does.
QUIC leaks through check A12 are a rising headache. HTTP/3 uses UDP port 443 instead of TCP. Many VPN setups only tunnel TCP traffic. Chrome and other browsers increasingly favor QUIC, meaning VPN users may be bleeding traffic through QUIC connections that sidestep their tunnel entirely.
Browsers have rolled out partial WebRTC mitigations. Chrome and Firefox use mDNS to cloak local IP addresses in ICE candidates. mDNS introduces its own leak, though: the device hostname. If your machine is named Johns-MacBook-Pro, that string is now exposed through mDNS resolution. A14 catches exactly that. Only a full WebRTC kill, as Tor and Mullvad enforce, plugs the hole completely. Every other browser has decided Zoom, Google Meet, and Microsoft Teams matter more than IP privacy. Defensible as a business call. Untenable as a privacy claim.
What 157 Checks Actually Look Like
126-plus checks fall into functional buckets covering every browser surface. Here's the count breakdown mapped to what each browser category exposes.
| Category | Check Count | Chrome/Opera/Vivaldi | Firefox Default | Brave | Safari 26 | Tor/Mullvad |
|---|---|---|---|---|---|---|
| Canvas/WebGL/WebGPU | 12 | All exposed | Mostly exposed | Farbled, detectable | Generalized and noise | Disabled |
| Audio | 4 | Exposed | Exposed | Farbled | Noisy | Disabled |
| Fonts/Screen/Display | 8 | Exposed | Exposed | Partially masked | Generalized | Standardized |
| Timing/Performance | 10 | Exposed | Exposed | Exposed | Exposed | Partially masked |
| TLS/HTTP Fingerprinting | 8 | Normal | Normal | Normal | Normal | Standardized |
| Network Leaks | 12 | Vulnerable | Vulnerable | Vulnerable | Vulnerable | Protected |
| Automation/Headless | 25 | Clean | Clean | Clean | Clean | Clean |
| Behavioral Analysis | 8 | Normal | Normal | Normal | Normal | Normal |
| Consistency Cross-refs | 55 | Consistent | Consistent | Inconsistencies from farbling | Mostly consistent | Low C-Score from missing APIs |
| Privacy Mode Detection | 5 | Not detected | Not detected | Noise detected | Noise detected | RFP and Tor-like detected |
| Antidetect Detection | 10 | Not detected | Not detected | Not detected | Not detected | Not detected |
Timing/Performance is where every browser except Tor and Mullvad stays exposed. WHOX checks F21 through F25 gauge GPU timing, WASM timing, garbage collection patterns, and paint timing. Hardware-bound signals that no browser currently masks at the API level. Drawnapart's NDSS 2022 paper showed GPU timing alone can tell apart identical GPU models from the same production line based on silicon manufacturing variances. No amount of canvas farbling addresses that because the signal is temporal, not visual.
Bottom Line
We tested eight browsers against 157 checks. Here's what the data says, marketing stripped away.
Chrome, Opera, and Vivaldi do nothing. Zero fingerprinting resistance. Complete exposure across all axes. Google now actively greenlights fingerprinting in its ad products. Using these browsers means full visibility to every fingerprinting script on every page you visit.
Firefox has the tools but doesn't switch them on. Just 0.48% of users who flip privacy.resistFingerprinting get real protection. Everyone else gets a blocklist that catches known trackers and whiffs on everything else.
Brave tries hardest among mainstream browsers and still falls to commercial fingerprinting. Randomization is philosophically alluring and practically beaten. WWW'25 research proved the flaw isn't an implementation bug; it's a foundational weakness of the noise-based approach.
Safari is the strongest mainstream pick if you're in Apple's garden. Generalization trumps randomization. ITP catches most third-party trackers. Safari 26 broadens fingerprinting protection to all sessions. WebRTC leaks, audio bypasses, and platform lock-in still clip its wingspan, though.
Tor Browser reaches the best fingerprint resistance by making every user identical. Cost is a hobbled browsing experience and a Fatal flag on every fraud system that checks for Tor exit nodes.
Mullvad Browser is the best all-around option for privacy-minded users who don't want the Tor network's baggage. Tor-level fingerprint uniformity without the network stigma. Paired with a VPN, it clinches the highest Trust Score in our testing at 67.
No browser hits a perfect score. No browser shields against all 157 checks. And these fingerprints endure across sessions, as FORESIGHT shows by linking the same user across IP changes and cookie wipes. Arms race between fingerprinting and resistance rolls on, and right now, the fingerprinters are winning.
Sources
- Joe12387. Browser Fingerprinting Resistance Research. GitHub, updated July 2024.
- Nguyen, H.D. and Vadrevu, P. Breaking the Shield: Analyzing and Attacking Canvas Fingerprinting Defenses in the Wild. WWW'25, April 2025. DOI: 10.1145/3696410.3714713.
- Nibert, G. et al. Preventing WebRTC IP Address Leaks. CRiSIS 2024, Springer Lncs vol. 15456, pp. 365-381.
- WebRTC Metadata and IP Leakage in Modern Browsers: A Cross-Platform Measurement Study. arXiv:2510.16168, October 2025.
- Laor, T. et al. Drawnapart: A Device Identification Technique based on Remote GPU Fingerprinting. NDSS 2022. DOI: 10.14722/ndss.2022.24093.
- Fingerprint.com. Browser traffic distribution data, August 2022.
- Joe12387. Safari Canvas Fingerprinting Exploit. CVE-2024-27830.
- Brside.com. Brave, Firefox, Safari: Only Two Survived This Fingerprinting Test. December 2025.
- Castle.io. Detecting Noise in Canvas Fingerprinting. August 2025.
- Castle.io. When Canvas Lies: Handling Randomized Fingerprints in Fraud Detection. November 2025.
- Brave Software. Fingerprinting Defenses 2.0. May 2020.
- Mullvad. Mullvad Browser.
- Tor Project. Fingerprinting protections documentation.
- UK ICO. Our response to Google's policy change on fingerprinting. December 2024.
- 9to5Mac. With iOS 26, Safari will counter one of the web's most invasive tracking methods. July 2025.
- EFF. Cover Your Tracks.
- PrivacyTests.org. Browser privacy tests. Rankings current as of early 2026.
- PCMag. Browser fingerprinting test results. November 2025.
- pixelscan.net. Mullvad Browser fingerprint consistency review. January 2026.
- WHOX. whox.com. Internal capabilities documentation.
FAQ
Which browser is best for fingerprinting resistance? Per our 157-check audit: Mullvad Browser clinches the highest Trust Score at 67, followed by Safari 26 at 66, Firefox+RFP at 65, and Brave at 60. Best depends on threat model. Chrome, Opera, and Vivaldi score 0/14 on Joe12387's resistance matrix. On PrivacyTests.org, Brave leads with 143 tests, Mullvad 141, LibreWolf 139, Tor 132. More tests passed doesn't mean less trackable.
What is the Brave Paradox? Brave shields against 11 of 14 fingerprinting techniques, yet Fingerprint.com still tracks Brave users at 96% confidence even with WebGL off. EFF's Cover Your Tracks rates Brave as randomized and good, while Firefox rates as unique and bad. Real commercial tracking tells the opposite story: Firefox and Safari break re-identification while Brave fails. Randomization falls to statistical averaging, as WWW'25 showed. Standardization beats randomization. We're expanding to 12 browsers, adding Arc, Floorp, LibreWolf, and Mullvad, in future audits.
What are Tor Browser's trade-offs? Tor hits a 90 F-Score, best fingerprint resistance in our tests, but a low Trust Score of 56 because Tor exit nodes trip a Fatal flag on fraud systems. WebGL off means no 3D graphics. WebRTC off means no video calls. Audio off. Many sites serve degraded content or block Tor entirely. Cost of anonymity is a broken web. Tor delivers under 10 bits of identifying data, lowest of any browser tested according to PCMag, November 2025.
What does PrivacyTests.org miss? PrivacyTests.org measures how many tracking mechanisms get blocked: third-party cookies, storage partitioning, referrer trimming. What it doesn't measure is whether you can be told apart from other users of the same browser. Brave leads at 143 tests because it blocks more trackers. Tor scores 132 because it kills entire APIs. Brave's randomization stamps a unique noise pattern per user. Tor makes all users identical. Fewer tests passed can mean better anonymity.
Does WebRTC leak your IP even with a VPN?
Yes. CRiSIS 2024 research confirmed WebRTC leaks happen even when using VPN, SOCKS, or HTTP/S proxy. Every browser except Tor and Mullvad leaks through WebRTC ICE candidates. Only full fix is killing WebRTC entirely via media.peerconnection.enabled = false, which breaks video calls. mDNS obfuscation was meant to help but instead leaks device hostnames like Johns-MacBook-Pro.local to the local network.
Read Next
- What Actually Works: An Honest Guide to Fingerprinting Protection
- The Randomization Lie: Every Canvas Defense Has Been Defeated
- WebRTC and DNS: The Leaks Nobody Closes
- The Privacy Paradox: Protection Makes You Visible
WHOX - We tell real signals from manufactured ones. Check your fingerprint at whox.com and find out what signals leak from your browser and how unique you are.
Related Articles
"Do Not Blow Your Cover": Deconstructing AI Authorship Concealment
Anthropic's Claude Code leaked. We reverse-engineered the concealment architecture: seven interlocking systems from Undercover Mode to anti-distillation, tested against 28 public PRs from Anthropic employees, and mapped every layer the system covers and every one it doesn't.
ResearchThe Randomization Lie: Every Canvas Defense Has Been Defeated
WWW'25 proved it: all 18 extensions and 5 browsers defeated. Canvas noise isn't protection. It's a marker. Zero working defenses.
ResearchThe Entropy Map: Which Browser Signals Give You Away
Skin ridges make every human singular. Browsers carry their own version of that mark, and they're far less coy about handing it over. You never held out your palm. Your browser did it for you, silently, on every HTTP request, to every site, without a whisper of consent.