Skip to content

FingerprintJS

A free browser library that creates a visitor ID from browser traits, lasting across private mode.

Stars
28.7k
Forks
2.6k
Licence
MIT
Language
TypeScript
Last update
5 days ago
Type
Library

What it is

FingerprintJS is a client-side JavaScript library that reads a set of browser attributes and combines them into a hashed visitor identifier. The README says this identifier stays the same in incognito or private mode and even after browser data is cleared, unlike cookies or local storage. Site owners use it to recognize returning visitors without storing anything on the device.

  • Recognize a returning visitor on a web page without setting a cookie
  • Compare visitor IDs across private and normal browsing sessions to see whether they match
  • Load the library from the npm package in a React or other JavaScript app and call get() to read result.visitorId

Great for

  • Developers who want a free, self-hosted way to recognize returning browsers in a web app
  • Teams testing basic visitor identification before deciding whether to pay for a more accurate service
  • Developers who want the MIT-licensed npm package or a CDN script

Not ideal for

  • Anyone who needs production-grade accuracy: the README says client-side accuracy is significantly lower than the commercial version
  • Security-critical uses such as fraud blocking on their own: the README notes fingerprints can be spoofed and reverse engineered in the browser
  • Projects that must avoid browser tracking or need clear privacy-compliant consent handling; the README does not address privacy regulation
Step-by-step guide: how to use FingerprintJSInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Node.js (version not specified in the README)

    Install from npm

    npm install @fingerprintjs/fingerprintjs
  2. 2

    Run it

    • Install the package with npm
    • Call FingerprintJS.load() once when your app starts
    • Call fp.get() when you need an identifier
    • Read result.visitorId and log or store it as needed
  3. 3

    Get the most out of it

    • Read the API reference in docs/api.md for the full set of options
    • Check docs/browser_support.md if you need to support older browsers
    • Follow docs/migration/v4_v5.md or v3_v5.md if upgrading from an older version
    • Review docs/comparison.md to see how the free library differs from Fingerprint Identification

Downloads

Strengths

  • Free and open source under the MIT license
  • Visitor ID remains stable across incognito mode and cleared browser data, per the README
  • Available both as an npm package and as a CDN script

Trade-offs

  • Accuracy is lower than the commercial Fingerprint Identification product, according to the README
  • Runs in the browser, so fingerprints can be spoofed or reverse engineered
  • The README links to a separate commercial product, which may matter for upgrade planning

How it compares

ProjectStarsTypeLevelUpdatedBest for
fingerprintjs (this)28.7kLibrarybeginner5 days agoDevelopers who want a free, self-hosted way to recognize returning browsers in a web app
CloakBrowser32.7kLibrarybeginner4 days agoPython or JavaScript developers already using Playwright who need automation to get past bot checks
monaco-editor46.9kLibraryintermediate6 days agoWeb developers adding a code editing box to a browser app
mocha22.9kLibraryintermediate5 days agoJavaScript and Node.js developers who want automated tests for their code
feathers15.3kLibraryintermediate5 days agoJavaScript or TypeScript developers building a web API
brain.js14.9kLibrarybeginner2.1 years agoJavaScript developers who want to try neural networks without learning a new language

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.