tls-reputation.comTLS fingerprint reputation

A public, free lookup service for TLS client fingerprints.

Paste a JA3 or JA4 to see what software opened a connection — and, across the domains it reaches, how it behaves. Or look up a domain to see whether it has been reached through a residential proxy network, and by which clients.

fingerprints
1,289
observations
371,447
domains
22,416

How it works

The corpus is built from inside a residential proxy network. We join it as a swarm of peers — decoys that do nothing but listen.

attackersprovider backbonesresidential peerstarget servers
residential peersour decoys — and the sessions they observe
  1. 1Every session routed through a decoy drags its TLS ClientHello and the domain it is reaching for.
  2. 2We record the fingerprint and the server name — never the peer’s IP. Just (fingerprint, SNI).
  3. 3Folded together, millions of these become a reputation: what the software is, and how it behaves across everything it touches.

ALPN offers

ALPN is the one thing you can read off a single handshake. A browser offers h2 then http/1.1, in that order; a library offers http/1.1 or nothing at all. Here is how the corpus splits — by connections, and by the distinct fingerprints behind them.

68%connections55%fingerprints
  • h2, http/1.168%
  • http/1.116%
  • (none)12%
  • h23%
  • http/1.1, h21%
  • other · 8 more0%

The amber slice is h2, http/1.1 — the browser offer. It carries most of the connections but a smaller share of the fingerprints: a handful of library offers fragment into many distinct stacks.

Who is behind each offer

The amber length is the share we can name; the neutral tail is still anonymous. Browsers cluster in h2, http/1.1; the HTTP-library stacks — Node, Python — show up under http/1.1 and (none).

h2, http/1.184% named
Google Chrome 75%anonymous 16%
http/1.145% named
ByteDance app 16%Node.js fetch 11%Python requests 7%Python requests 7%anonymous 55%
(none)24% named
Node.js https 21%anonymous 76%
h26% named
anonymous 94%
http/1.1, h215% named
Python httpx 15%anonymous 85%
h3, h2, http/1.1100% named
Google Chrome 100%

The graph

Every fingerprint that reached www.google.com, sized by how much traffic it carried. Real browsers cluster; the odd library or bot sits off on its own. This is one slice — explore the whole graph →