WHAT IS IT?
FingerprintJS is an open-source library that computes a visitor identifier from browser attributes (canvas, fonts, audio, screen resolution, plugins, and more). It runs entirely client-side, with no cookies or local storage, and the identifier stays stable even in private browsing or after the user clears their browser data. One caveat: the open-source version is intentionally less accurate than the commercial offering (Fingerprint Pro) and remains vulnerable to spoofing. Treat it as a risk signal, not ground truth.
WHY IS IT INTERESTING?
- No cookies, no storage: identity is recomputed from the browser itself, so there's nothing to persist client-side and nothing to consent to in the cookie sense.
- Stable in private mode: the fingerprint survives incognito and history clearing, where a cookie would simply vanish.
- A few lines to integrate: import via ESM or CDN, call
await fp.get(), and you get avisitorId. Written in TypeScript, typings included. - Cross-browser: works on Chrome, Firefox, Safari, Edge and mobile with zero server-side config.
- MIT and backend-free: everything runs in the browser, so you send nothing to a third party unless you choose to.
USE CASES
- Fraud and multi-account detection: serial signups, free-trial abuse
- Rate limiting or anti-abuse without forcing users to authenticate
- Unique visitor analytics without dropping a cookie
- Extra risk signal inside a login or payment flow
