SVG characteristics
GET /api/fingerprint/svg-renderingSVG rendering fingerprinting analyzes how browsers render and measure Scalable Vector Graphics elements to detect browser engine and platform differences. Unlike canvas fingerprinting which focuses on raster graphics, SVG fingerprinting exploits vector graphics rendering variations. The technique creates SVG elements with specific shapes, text, filters, and effects, then measures their rendered bounding boxes, path lengths, and geometric properties using DOM measurement APIs. Different browser rendering engines (Blink, Gecko, WebKit) implement SVG specifications differently, resulting in measurable discrepancies in path lengths, text positioning, filter effects, and transformation matrices. For example, measuring the length of a complex SVG path might yield 1234.56789 in Chrome but 1234.56792 in Firefox due to floating-point arithmetic differences. SVG text rendering is particularly revealing because it combines font rendering (like regular font fingerprinting) with vector graphics precision. Advanced SVG features like clip-paths, masks, blend modes, and filter primitives (feGaussianBlur, feColorMatrix) render with subtle differences across browsers. GPU-accelerated SVG rendering on some platforms introduces additional variations. OS-level graphics libraries (CoreGraphics on macOS, DirectWrite on Windows, FreeType on Linux) influence SVG rendering, making this technique effective for OS detection. Even SVG animations and SMIL timing can be measured to detect browser differences. The fingerprint remains stable because SVG rendering engines are deeply integrated into browser codebases and rarely change significantly between versions.
Move from this collector to the CreepJS signal index, live checker, API docs, and other high-value fingerprinting explainers.