Advanced Fingerprinting Library
Generate unique device identifiers using canvas, audio, and hardware entropy. No external dependencies, fully client-side.
🎮 Interactive Playground
1️⃣ Fluent Chaining
Chain configuration methods for clean, readable code
new Fingerprint()
.length(32)
.casing('uppercase')
.scope('device')
.canvas(true)
.audio(true)
.generate();
2️⃣ Quick Scope Presets
Use predefined scopes for common use cases
Fingerprint.device()
.length(16)
.casing('mixed')
.generate();
3️⃣ Lightweight Session
Minimal fingerprint for temporary identification
Fingerprint.session()
.canvas(false)
.audio(false)
.generate();
4️⃣ Async/Await
Full async support for modern workflows
await Fingerprint.browser()
.length(64)
.casing('lowercase')
.generateAsync();
5️⃣ Static Quick Gen
One-liner for simple use cases
await Fingerprint.generateAsync({
length: 32,
casing: 'uppercase',
scope: 'device'
});
6️⃣ Debug & Raw Data
Inspect individual entropy components
const fp = new Fingerprint()
.scope('device')
.collect();
console.log(fp.raw()); // Array of components
Click to see component count
7️⃣ Similarity Comparison
Compare fingerprints to detect changes
const fp1 = new Fingerprint().generate();
const fp2 = new Fingerprint().generate();
const similarity = fp1.compare(fp2); // 0.0 to 1.0