FingerprintJS is a source-available, client-side, browser fingerprinting library that queries browser attributes and computes a hashed visitor identifier from them. Unlike cookies and local storage, a fingerprint stays the same in incognito/private mode and even when browser data is purged.

Limitation

Since FingerprintJS processes and generates the fingerprints from within the browser itself, the accuracy is limited (40% - 60%). For example, when 2 different users send requests using identical (i.e. same version, same vendor, same platform), browsers, FingerprintJS will not be able to tell these two browsers apart, primarily because the attributes from these browsers will be identical.

Features

  1. Web and mobile support
  2. Easy to use
  3. Webhook
  4. Server-side API
  5. Supports all modular browsers
  6. Integrates with all popular frameworks such as Vue, React, Next.js Swift, Flutter, Svelte, Astro and Python.

License

Starting version 4.0.0, FingerprintJS is licensed under Business Source License 1.1. The BSL allows use only for non-production purposes.

To use the library for commercial, you need a commercial license. These commercial uses include:

  • Using FingerprintJS to build revenue-generating applications
  • Using FingerprintJS to build software that is provided as a service (SaaS)
  • Forking FingerprintJS for any production purposes

Resources & Downloads

GitHub - fingerprintjs/fingerprintjs: Browser fingerprinting library. Accuracy of this version is 40-60%, accuracy of the commercial Fingerprint Identification is 99.5%. V4 of this library is BSL licensed.
Browser fingerprinting library. Accuracy of this version is 40-60%, accuracy of the commercial Fingerprint Identification is 99.5%. V4 of this library is BSL licensed. - GitHub - fingerprintjs/fing…
Fingerprint Pro vs. FingerprintJS | Fingerprint
Fingerprint is 99.5% accurate device intelligence available for web, iOS, and Android. FingerprintJS is the top browser fingerprinting library on GitHub.