CreepJS 2.0

CreepJS 2.0

Educational, privacy-first browser fingerprinting platform for developers.

Product

  • Demo
  • Documentation
  • API Playground

Resources

  • CreepJS 2.0
  • Original CreepJS
  • API Reference
  • Privacy Policy

Connect

© 2025 CreepJS 2.0. All rights reserved.

Based on CreepJS by Abraham Juliot

Documentation

Comprehensive guide to browser fingerprinting with CreepJS. Learn how to implement privacy-first device identification, understand fingerprinting techniques, and integrate our API into your applications.

What is Browser Fingerprinting?

Browser fingerprinting is a technique used to identify and track web browsers based on their unique characteristics and configurations. Unlike cookies or local storage, fingerprints are collected from the browser's inherent properties, making them more persistent and harder to block.

Every browser has a unique combination of features including canvas rendering behavior, WebGL capabilities, installed fonts, screen resolution, audio stack properties, and dozens of other parameters. By collecting and hashing these characteristics, we can create a stable identifier that remains consistent across sessions.

CreepJS is an educational platform that demonstrates advanced browser fingerprinting techniques. Our API provides developers with tools to implement device identification for fraud prevention, security analytics, and user experience optimization while respecting privacy regulations like GDPR and CCPA.

Educational Purpose

This platform is designed for educational purposes and legitimate use cases such as fraud detection, bot prevention, and security research. Always respect user privacy and comply with applicable regulations when implementing fingerprinting.

How CreepJS Works

CreepJS collects over 24 different types of browser characteristics, each contributing to the overall fingerprint stability and uniqueness. The process involves three main stages:

1. Data Collection

Our collector modules run directly in the browser, gathering data from Canvas API, WebGL, Navigator properties, Audio Context, Media Devices, CSS rendering, Math operations, and more. Each collector is optimized to avoid detection by anti-fingerprinting tools.

2. Normalization & Hashing

Collected data is normalized to handle minor variations and then hashed using MurmurHash3 algorithm. The hash is encoded in Base62 format to produce a compact, URL-safe fingerprint ID that's easy to store and transmit.

3. Confidence Scoring

Each fingerprint includes a confidence score (0-1) indicating its reliability and uniqueness. Higher scores mean more distinguishing characteristics were successfully collected, resulting in better identification accuracy.

The entire fingerprinting process completes in under 500ms on modern browsers, with minimal impact on page load performance. All processing happens client-side, and we only transmit the final hashed fingerprint ID to our API, never raw browser data.

Use Cases

Fraud Detection

Identify suspicious accounts and prevent account takeover attacks

Bot Prevention

Detect automated scrapers and malicious bots

Session Continuity

Maintain user sessions across devices without cookies

Analytics Enhancement

Accurate visitor tracking for analytics platforms

Security Research

Study browser privacy and anti-tracking mechanisms

Device Intelligence

Understand user device profiles and capabilities

Related Resources

Live Demo
See your browser's fingerprint in action
API Playground
Test the API interactively with code examples
GitHub Repository
View source code and contribute