JA3 fingerprint is a technique used to create a unique identifier for a client’s TLS (Transport Layer Security) configuration during the TLS handshake. It was developed by Salesforce researchers to help detect malicious traffic and distinguish between different clients (e.g., browsers, bots, or malware) based on how they initiate secure connections.
JA3 works by collecting specific fields from the Client Hello packet in the TLS handshake—such as the SSL version, accepted cipher suites, extensions, elliptic curves, and elliptic curve formats—and concatenating them into a string. This string is then hashed using MD5 to produce a fingerprint.
Also known as: TLS fingerprint, JA3 hash, Client Hello fingerprint
A client initiates a TLS handshake with the following fields:
This hash can be compared against threat databases or analytics tools to detect suspicious or known malicious clients.