CreepJS

CreepJS

Educational, privacy-first browser fingerprinting platform for developers.

Product

  • Checker
  • Documentation
  • IP Risk Checker
  • API Playground

Resources

  • CreepJS 2.0
  • API Reference
  • Browser Fingerprinting Guide
  • Fingerprint Signal Index
  • Privacy Policy

Popular Signals

  • Canvas Fingerprint
  • WebGL Fingerprint
  • WebRTC Fingerprint
  • Anti-Fingerprinting Detection

Connect

© 2026 CreepJS. All rights reserved.

Browser

DOM Rectangle

Measurement precision

Live Playground

Analyzing your browser...0%

API Docs

Endpoint

GET /api/fingerprint/dom-rect

Examples

About

DOM rectangle fingerprinting measures the precision and behavior of element geometry measurement APIs including getBoundingClientRect(), getClientRects(), offsetWidth, offsetHeight, clientWidth, clientHeight, scrollWidth, and scrollHeight. Different browser layout engines (Blink, Gecko, WebKit) calculate element dimensions with varying levels of precision and rounding behavior. The technique creates elements with specific CSS properties (fractional pixel dimensions, transforms, scaling) and measures their reported dimensions to many decimal places. For example, an element with width:'100.5px' might report exactly 100.5, 100.49999..., or 101 depending on browser rounding. Sub-pixel rendering implementations differ: some browsers use floating-point precision throughout the layout engine, others round at certain stages. CSS transforms (scale, rotate, skew) combined with measurements expose browser-specific matrix calculations. The DOMRect object's properties (x, y, width, height, top, right, bottom, left) are computed through different code paths in different engines. Testing elements at various zoom levels (browser zoom, devicePixelRatio) reveals rounding and scaling algorithms. Elements with CSS box-sizing, borders, padding, and margins have slightly different measurement behaviors across browsers. iframe dimensions, SVG element measurements, and ::before/::after pseudo-element dimensions add more measurement variations. The fingerprint captures hundreds of measurements across different element types and CSS configurations. Since layout engine code is deeply integrated into browser cores and optimized for performance, this fingerprint is extremely stable and nearly impossible to spoof without reimplementing entire layout engines.

Use Cases

  • •Layout engine
  • •Precision testing
  • •Rendering differences

Other Fingerprints

Compare related fingerprint signals

Move from this collector to the CreepJS signal index, live checker, API docs, and other high-value fingerprinting explainers.

Core pages

Browser Fingerprinting PlatformRun a privacy-first browser fingerprint check and learn what websites can infer about your device.Fingerprint CheckerTest your browser privacy with a live fingerprint scan, collector coverage, and privacy leakage analysis.IP Risk CheckerCheck IP risk, ASN, geolocation, proxy, VPN, Tor, datacenter, and routing signals through the CreepJS API.Browser Fingerprint SignalsBrowse the full CreepJS library of browser fingerprinting signals, including canvas, WebGL, WebRTC, fonts, storage, and privacy checks.DocumentationRead the CreepJS API, SDK, collector, and integration documentation for privacy-first browser fingerprinting.API PlaygroundGenerate a token, inspect sample payloads, and test CreepJS browser fingerprinting API calls.What Is Browser Fingerprinting?Learn how browser fingerprinting works, which signals are collected, and how privacy tools reduce tracking.

Popular fingerprint signals

Canvas FingerprintCanvas rendering fingerprint based on how the browser draws graphics. Test your browser's unique canvas signature.WebGL FingerprintWebGL GPU information and rendering capabilities. Detect your graphics card and WebGL implementation.WebRTC FingerprintWebRTC capabilities and IP leakage checks. Detect peer connection support and potential network exposure signals.Anti-Fingerprinting DetectionDetection of privacy tools and browser modifications. Identify fingerprint resistance.Navigator InformationBrowser navigator properties and user agent information. Analyze browser capabilities and settings.Font DetectionInstalled system fonts detection. Discover which fonts are available on your system.