Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

CreepJS is a browser-based diagnostic project that collects browser and device signals, then checks how those signals fit together. It can help developers and privacy-conscious users inspect what a browser exposes and test whether anti-fingerprinting measures create inconsistencies. It does not prove that a browser is unique, identify a person, or establish that a visitor is a bot or fraudster. The project names this GitHub Pages deployment as its official live checker.

What CreepJS is—and what it is not

CreepJS is an in-browser demonstration and diagnostic for browser fingerprinting. It runs collectors against browser APIs and presents their results on the page. The project describes its purpose as exposing weaknesses and privacy leaks in modern anti-fingerprinting extensions and browsers. That makes it useful for examining a browser’s current surface and for controlled defensive testing.

It is not a physical device, a general-purpose identity lookup, or a definitive security verdict. Its report describes observations from the browser running the page. The project does not publish an authoritative uniqueness rate, identification match rate, or fraud-probability figure. Do not read a report as proof that a visitor is a particular person, uniquely identifiable in a population, malicious, or automated.

The project README says the only official live deployment is on GitHub Pages and warns that other domains claiming to be CreepJS are unauthorized mirrors. Use the deployment linked above rather than entering sensitive information into a lookalike. CreepJS is a diagnostic page, not a place to submit credentials.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

How CreepJS builds a browser fingerprint

Browser fingerprinting combines characteristics that a site can observe through browser APIs and related behavior. CreepJS documentation describes a three-stage process: collect signals in the browser, normalize them to reduce minor variation, and hash the resulting data into a compact identifier. The documentation names MurmurHash3 and Base62 encoding for that identifier and says the project gathers “over 24 different types of browser characteristics.” That is the project’s description of its design, not an independently validated measure of accuracy or uniqueness.

Stage What happens How to interpret it
Collection Browser-side collectors read available characteristics and API behavior. The collected values describe the browser and device in the conditions of that run.
Normalization Values are normalized to accommodate minor variation. Normalization does not make every environment equivalent or eliminate meaningful changes.
Hashing The project hashes collected and normalized data with MurmurHash3 and encodes the compact ID in Base62, according to its documentation. A compact ID is a representation of the inputs; it is not itself proof of a person’s identity or of population-wide uniqueness.

The project’s privacy policy says fingerprint components are computed locally to generate a fingerprint ID and on-page report, and describes its API as stateless with respect to fingerprint payloads. That description concerns fingerprint data; distinguish it from any separate server-side logging or analytics that may be described on the current policy page. Check the policy directly when evaluating data handling for your use case.

Signal families to review

The project describes collectors spanning many surfaces. Useful broad categories include:

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
  • Canvas and WebGL: rendering behavior and graphics capabilities can vary with browser, hardware, drivers, and settings.
  • Audio: audio-related API behavior can contribute another observable characteristic.
  • Navigator and platform: browser-reported properties may be compared with other platform signals.
  • Fonts, screen, and CSS: available fonts, display characteristics, and CSS behavior can expose environmental differences.
  • Storage, media, and WebRTC: availability and behavior of these browser features may depend on settings, permissions, and implementation.
  • Math and other API behavior: implementation-level differences may appear alongside more familiar device properties.

The list describes areas the project examines; it does not mean every value is always available or stable. A browser, operating system, device, permission choice, privacy setting, or driver change can affect the result.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Can CreepJS detect anti-fingerprinting tools?

It can report evidence consistent with privacy protections or with inconsistencies between browser properties. This is best understood as a consistency check: if one property suggests a particular environment while another suggests something different, CreepJS can surface that mismatch for inspection. The project discusses checks involving hardware-concurrency relationships, user-agent and platform alignment, touch support, iframe detection, and privacy-tool detection.

A detected extension or mismatch is evidence about the browser surface in the current run, not proof of who is using the browser or why. A privacy tool may intentionally standardize, limit, or alter some values; ordinary browser and system differences can also explain variation. Missing or blocked APIs are missing evidence, not a “safe” or “risky” verdict by themselves.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

A repeatable defensive testing workflow

  1. Open the official checker. Visit the official GitHub Pages deployment. Avoid unofficial lookalike domains.
  2. Record the test conditions. For each run, note the browser and version, operating system, hardware, permissions, privacy settings, relevant extensions, and graphics-driver state. Record the date and whether the browser was in a private or ordinary session if that is relevant to your test.
  3. Start with broad categories. Review Canvas, WebGL, Audio, Navigator/platform, fonts, storage, WebRTC, media, CSS, and privacy checks. Note which APIs are unavailable or blocked rather than treating those entries as a result in themselves.
  4. Inspect relationships, not just isolated values. Look for cross-property inconsistencies such as hardwareConcurrency conflicting with other signals, a user-agent/platform mismatch, unexpected touch-support combinations, iframe detection, or a privacy-tool finding. Treat each as a lead to investigate, not a conclusion about a person.
  5. Change one variable at a time. Repeat after a controlled change—such as toggling one privacy setting or extension—while keeping the other recorded conditions as consistent as possible. This helps distinguish a change associated with that adjustment from unrelated environmental drift.
  6. Corroborate outside the fingerprint report. For an application security decision, consider account context, rate limits, observed behavior, and server-side controls. Do not make an account, access, or fraud decision from one CreepJS signal or ID alone.

A simple test log

Keep a small run record so that comparisons remain interpretable. Include the run date, browser/version, OS, device, permissions, privacy settings, extensions, driver changes, controlled adjustment, categories that changed, unavailable APIs, and any relevant notes. If several conditions changed at once, mark the run as non-comparable instead of attributing the result to one cause.

What a CreepJS result can and cannot establish

A live result is local browser evidence: it shows what the checker observed in that session. CreepJS’s signal references do not claim a population estimate, uniqueness percentage, match rate, or fraud probability. Its Open Database reference states, “A single signal does not identify a person.” Even a combined fingerprint ID should not be treated as a verified real-world identity or as a guarantee that the browser can be matched across sites or sessions.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Results can change for legitimate reasons, including browser or operating-system updates, hardware differences, permissions, privacy settings, and drivers. Anti-fingerprinting measures can also deliberately change or standardize signals. When an API is unavailable, blocked, or returns no usable value, record that as unavailable data. Avoid translating it into a positive or negative security label without separate evidence.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

Using CreepJS in a production security workflow

CreepJS is useful for defensive investigation and education, but its documentation does not establish that an individual signal identifies a person. Treat a fingerprint as one potentially noisy input rather than an authentication factor or standalone fraud score. Pair relevant browser observations with server-side controls, account context, rate limits, and behavioral evidence, and define how your system handles missing or contradictory signals.

Fingerprinting also raises privacy and compliance questions. Before production use, disclose the collection appropriately, obtain consent where required, and verify the legal requirements that apply to your organization, users, and jurisdictions. Review the current CreepJS policy and authenticated API documentation before integrating any API; the project describes local computation of fingerprint components, but that does not answer every question about separate logging, analytics, or your own downstream handling.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshooting confusing or changing results

  • A signal is blank or unavailable: the browser may not expose that API, a permission may be absent, or a privacy control may block it. Record it as unavailable and continue with other evidence.
  • The fingerprint ID changed between runs: compare browser, OS, hardware, permissions, privacy settings, extensions, and driver state. Change one variable at a time in a repeat test; a changed ID alone does not establish tracking, identity, or risk.
  • Privacy-tool detection appears unexpectedly: inspect the related properties and configuration, then rerun with a controlled change. Detection is a browser-surface observation, not proof of malicious intent.
  • Properties appear contradictory: capture which values disagree and check whether an extension, browser mode, compatibility setting, or platform change could account for them. Do not resolve the conflict by assuming one value reveals the “real” user.
  • The page or a check does not complete: retry in a supported, ordinary browser session and check whether extensions or network controls are blocking page resources. If the same check remains unavailable, record the limitation rather than inferring a fingerprint verdict.
  • You found another site claiming to host CreepJS: use the deployment linked in this article. The project README identifies GitHub Pages as the only official live deployment and warns against other claimed domains.

Or skip the browser setup

ScreenshotNeo is not a browser-fingerprinting checker and does not collect or interpret CreepJS signals. It can help when the task is preserving a visual screenshot of a page or report, rather than running the browser-side diagnostic itself. Its API accepts a URL and returns an image or PDF; the available parameters include waiting for page conditions and choosing an output format. See the ScreenshotNeo documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

For example, this cURL request captures the CreepJS page as WebP:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://abrahamjuliot.github.io/creepjs -o shot.webp

Python:

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://abrahamjuliot.github.io/creepjs"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://abrahamjuliot.github.io/creepjs' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

ScreenshotNeo’s clean-shot options accept consent banners and remove more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. An MCP server offers screenshot, page-info, and PDF-capture tools for AI agents. The free plan includes 1,000 shots a month with no card; paid plans start at $5 for 3,000 shots. This is an option for visual capture—not a substitute for opening CreepJS and interpreting its browser-local results.

Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.