Fingerprint.js is the most advanced
open-source fraud detection JS library

Need more speed and accuracy? Try FPJS PRO

Why use Fingerprint.js?

Fingerprint.js has a unique approach to prevent fraud on your website. The library generates a unique identifier of a browser without using cookies or any information that can be easily reset by a malicious user. By storing this identifier in your database you will get an accurate idea if someone is trying use the same device (computer, tablet or phone) to register twice, submit a vote multiple times, use multiple credit cards or perform any other type of suspicious activity.

Advanced identification methods

Fingerprint.js employs the most advanced methods of identification available: canvas fingerprinting, audio sampling, WebGL fingerprinting, font detection and browser plugin probing. Every method will help you catch more bad actors on your website.

Fast performance

You can run Fingerprint.js for every user, even those on low-powered mobile devices. The library will automatically detect browser features and selectively query browser parameters that are available. The Pro version has even faster detection (80-100ms) via greater customizability.

Easy to use API

Written in vanilla JS with zero dependencies, this library can be dropped into any page or used as a module in your build system. Install it via your favorite package manager and you're ready to go.

How It Works

Fingerprint.js collects all the unique features from a device/browser passing them through a hash function to provide a unique identifier.

Collection

It collects the unique features from a browser via the client JS

Processing

It processes all collected data to normalize any minor changes

Hashing

It hashes the processed data to produce a unique identifier