Trace Your Steps A free tool from Brilliant Hosting No third-party trackers No IP addresses stored Made in the UK
Browser linkability test

Can you be followed across the web?

Most fingerprinting tests tell you how rare your browser is. That is only half the question. A browser that looks unusual but changes every visit cannot be tracked — one that is unremarkable but never changes can be. This test measures both, and shows you which of your signals actually held.

Takes about five seconds · nothing leaves this page but hashes

2Axes measured — uniqueness and stability
12Collection passes per scan
JA4Network fingerprint no extension can hide
0Third-party trackers · IP addresses stored
No. 04 — The argument

How this differs from other fingerprint tests

Six things the usual tests get wrong, and what we do instead.

Read before believing
any number on this page
01

The “bits of identifying information” number is usually meaningless

If a test says you are unique among N browsers tested and then reports log₂(N) bits, that number is a property of their database, not of your browser — every unique visitor gets the identical figure, and it drifts as their traffic changes.

We show the modelled entropy and the corpus ceiling separately, so you can see when one is limiting the other.

02

Rarity is not trackability

Brave and Safari deliberately randomise canvas and audio output. On a rarity-only test that shows up as “your browser is unique” — scored as a failure, when it is the protection working.

We score stability as its own axis, so randomisation lands where it belongs.

03

We compare you to your peers, not to everyone

“One in 8 browsers run macOS” is true and useless. What matters is how well you hide among people who already look like you.

Every group is scored against your cohort as well as against the whole corpus.

04

We measure the network layer, which no extension can hide

Your TLS ClientHello produces a JA4 fingerprint, and your HTTP headers arrive in an engine-specific order. Both are generated by your network stack before any script runs.

A privacy extension that rewrites your User-Agent does not touch either — so a mismatch between what you claim and what your TLS stack says is itself a strong signal.

05

We test the surfaces that actually carry entropy now

Chrome froze navigator.plugins and reduced the User-Agent string years ago; tests still reporting those are measuring nothing.

The entropy moved to Client Hints, storage.estimate(), sub-pixel font metrics, WebGPU adapter limits, codec support and ICU behaviour. We test those.

06

Nothing on this page phones home

A fingerprinting test that loads third-party analytics is telling on itself. There is no ad network here, no session recorder, and no embedded script from anyone else.

The only server that sees your signals is the one printing this page.

A fingerprint is only useful to a tracker if it still matches on your next visit.
— The whole point of this site
No. 05 — Method & data

What we store, and what we don't

Short version: we store counts and hashes, never raw identifiers.

Plain English
no small print
How the numbers are made

Your visit history is keyed by your own browser — which is precisely the point

Signal values are stored as truncated SHA-256 hashes and integer counters. We do not store your IP address, and we do not use any third-party tracker to do it. Your visit history is keyed by a hash of your browser's own stable signals — the very mechanism this site exists to demonstrate.

Entropy per group is log₂(corpus ÷ how many share your value). Groups are summed assuming independence between groups, which is an approximation we make visible rather than hide: where the modelled total exceeds log₂(corpus), we say so on your result.

Stability is measured against your own previous visits where we have them, and against the population where we do not — and the result always says which of the two you are looking at.

  • Stored: truncated hashes and counters
  • Not stored: your IP address
  • Not used: any third-party script
  • Not sold: anything, to anyone
  • Shown: the corpus ceiling, so you can tell a real measurement from a modelled one
No. 06 — For machines

There is an API

Everything the page does, you can do from a script.

No key required
POST /api/scan

Send collected signals, get the full scored report back as JSON — the same object that renders this page.

GET /api/stats

Corpus statistics: how many browsers we have seen, and how that ceiling limits what any entropy figure can prove.

GET /txt

A plain-text summary of your network layer — JA4, TLS parameters and header order — built for curl.

No. 07 — Who built this

Built by Brilliant Hosting

We run UK web hosting that does not sell your visitors' data. Free hosting for HTML sites, any change made personally for £3, and no analytics script you didn't ask for.

brilliant-hosting.com