# thumbmarkjs/thumbmarkjs

A free, open-source javascript fingerprinting library

Repository: https://github.com/thumbmarkjs/thumbmarkjs
Canonical: https://ross.abutalabs.com/products/thumbmarkjs
Homepage: https://www.thumbmarkjs.com/
Language: TypeScript
License: MIT
License Family: permissive
Topics: fingerprint, fingerprinting, audio-fingerprinting, bot-detection, browser, browser-fingerprint, browser-fingerprinting, canvas-fingerprinting, detection, fraud-detection, identification, javascript, thumbmarkjs, typescript, visitor-identifier, webgl-fingerprinting
Last push: 2026-08-26T13:59:12+00:00

## Health v2 (maintenance only)
Score: 93/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 99, longevity 70
- inputs: {"age_days": 980, "days_push": 7, "days_rel": 8, "gap_med": 15, "n_releases_24m": 30}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1134, forks 96 (observed 2026-08-28T04:03:43.086893+00:00)

## What it is
ThumbmarkJS is a free, MIT-licensed JavaScript browser fingerprinting library that generates a unique visitor identifier entirely client-side using signals like canvas, WebGL, and audio fingerprints. It is used for identifying returning visitors, fraud prevention, and bot detection, with an optional commercial API for higher accuracy and server-side signals.

## Use cases
- identify returning anonymous visitors on a website
- detect browser fingerprint for fraud prevention
- detect bots in the browser
- generate a stable visitor ID without cookies
- add a browser-identity signal to payment fraud checks
- personalize content for anonymous visitors
- fingerprint browsers client-side without a backend

## When to choose
- you need a free, open-source, client-side fingerprinting library with no backend required
- you want MIT-licensed, commercially usable fingerprinting with ~80% uniqueness
- you need a quick CDN or NPM drop-in for visitor identification
- you want to combine client signals with a paid API for 99%+ uniqueness, bot/VPN detection

## When to avoid
- you need server-side fingerprinting - the library requires browser APIs and cannot run on the server
- you need guaranteed unique identification - client-only mode has ~80% uniqueness and higher collisions on Mac/Safari
- your users rely on anti-fingerprinting browsers or strict privacy tooling
- you need GDPR-consulted compliance guarantees without reviewing legal implications yourself

## Facets
- artifact type: library
- maturity: active
- function: security, sdk, developer-tools
- domain: security, web-development, frontend, privacy, analytics
- platform: browser
- tags: browser-fingerprinting, fraud-detection, bot-detection, visitor-identification, canvas-fingerprinting, audio-fingerprinting, client-side, gdpr, web-server, nodejs

## Member repositories
- thumbmarkjs/thumbmarkjs (main) score 93

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:43.086893+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:37:23.050333+00:00, confidence not recorded.
  - readme: https://github.com/thumbmarkjs/thumbmarkjs (fetched 2026-08-28T04:03:43.086893+00:00, sha 6dc525fbb97b)
  - homepage: https://www.thumbmarkjs.com/ (fetched 2026-08-29T12:42:14.489892+00:00, sha 1107da247825)
  - site_page: https://docs.thumbmarkjs.com/ (fetched 2026-08-29T12:42:14.499033+00:00, sha 96464d7ec852)
  - site_page: https://docs.thumbmarkjs.com/docs/installation/usage-npm (fetched 2026-08-29T12:42:14.504373+00:00, sha 0a175b288633)
  - site_page: https://docs.thumbmarkjs.com/docs/installation/usage-import (fetched 2026-08-29T12:42:14.505937+00:00, sha 52cae2e3c680)
  - site_page: https://www.thumbmarkjs.com/content (fetched 2026-08-29T12:42:14.500847+00:00, sha 4647ef826096)
  - site_page: https://www.thumbmarkjs.com/pricing (fetched 2026-08-29T12:42:14.502807+00:00, sha 652c7ac2c452)
- Data as of 2026-08-30T08:39:29.467469+00:00.
