Windows 11 Browser Fingerprint: Fonts, ANGLE, and DPI Scaling
On desktop systems, Windows 11 creates one of the most distinctive browser fingerprints. The combination of Windows-specific system fonts, ANGLE-based WebGL rendering, and DPI scaling options available only on Windows produces a fingerprint profile that is structurally different from macOS, Linux, or mobile fingerprints.1 Windows 11 ships with Segoe UI Variable, Calibri, Cambria, Consolas, and other Microsoft-exclusive typefaces that do not exist on macOS or Linux default installations.
The WebGL renderer string on Chrome includes ANGLE and a Direct3D version identifier that is absent from macOS Metal-based renderers.2 Display scaling at 125%, 150%, or 175%, Windows-specific options, produces non-integer devicePixelRatio values of 1.25, 1.5, or 1.75 that are uncommon in the global browser population.3 Consequently, a browser on Windows 11 with non-standard DPI scaling exposes a combination of signals that definitively identifies the OS and narrows the hardware further than any single signal alone.
Windows-specific font set as a fingerprinting signal
Font fingerprinting scripts probe for the presence of specific fonts by rendering text and measuring pixel widths using CanvasRenderingContext2D.measureText().4 Windows 11 installs a defined set of Microsoft-exclusive fonts that do not exist on default macOS or Linux installations: Segoe UI, Segoe UI Variable, Calibri, Cambria, Consolas, Candara, Constantia, and Corbel are all Windows-only in default configurations.1 Detecting the presence of Segoe UI alone is sufficient to confirm a Windows OS.
Why Windows 11 creates a recognizable browser profile
Beyond the OS-default set, installed software adds recognizable fonts that fingerprint the installed application portfolio: Adobe Creative Cloud installs several Adobe-exclusive typefaces, gaming peripherals software installs brand-specific fonts, and Microsoft 365 adds additional Office-exclusive fonts. Consequently, the full font set on a Windows 11 installation reflects both the OS and the installed application ecosystem, creating a compound identifier that is more distinctive than either the OS or the software list alone.
The scale of this effect becomes clear when you consider how many applications leave a font trail. A typical Windows 11 machine with creative, productivity, and gaming software installed exposes dozens of application-specific typefaces that together describe the user's software choices. You can measure your own profile with the fingerprint inspector, which lists every font a script can detect and shows how the total set narrows your position in the Windows population.
Why font probes are hard to hide
Building on this, font fingerprinting operates through canvas measurement without requiring any canvas image exports, which means canvas image blocking does not prevent font probe detection. The measureText() API returns a numeric width value rather than pixel data, so even extensions that intercept toDataURL() or toBlob() calls have no effect on font enumeration. This makes font probing one of the most resilient fingerprinting techniques, since it bypasses the most common canvas-level blocking strategies while still relying on the same rendering engine that produces the canvas hash.
ANGLE rendering on Windows and the WebGL renderer string
Chrome on Windows routes all WebGL calls through ANGLE (Almost Native Graphics Layer Engine), which translates OpenGL ES calls to Direct3D.2 The WEBGL_debug_renderer_info UNMASKED_RENDERER_WEBGL string on Windows Chrome takes the form "ANGLE (NVIDIA GeForce RTX 4070 Direct3D11 vs_5_0 ps_5_0)". This string format is unique to Windows and contains three distinct identifiers: the ANGLE prefix confirming Windows Chrome, the GPU model name identifying the specific card, and the Direct3D version identifying the Windows version and driver generation.
How to reduce Windows fingerprint exposure
Consequently, the WebGL renderer string on Windows is simultaneously a Windows indicator, an OS version indicator, and a GPU model identifier. macOS Chrome uses Metal and reports a different format; Linux Chrome reports Mesa-based strings. Building on this, the Direct3D version in the renderer string, Direct3D11 or Direct3D12, narrows the Windows version and GPU driver generation, since Direct3D12 requires Windows 10 or later and a compatible GPU driver series.5
DPI scaling as an entropy amplifier
Windows allows non-integer display scaling in Settings > Display > Scale: 100%, 125%, 150%, 175%, and 200%. Each scaling percentage produces a specific window.devicePixelRatio value: 1.0, 1.25, 1.5, 1.75, or 2.0. The non-integer values, 1.25, 1.5, and 1.75, are uncommon in the global browser population.3 Most macOS displays report exactly 2.0 (Retina) or 1.0, and mobile browsers cluster around 2.0, 3.0, or 4.0.
Consequently, a Windows user at 125% scaling (devicePixelRatio 1.25) is in a small subpopulation, and combining that with a specific screen resolution and the ANGLE renderer string narrows the candidate pool significantly. Furthermore, users who set scaling to 150% for accessibility reasons are in a different subpopulation from those who use it for HiDPI optimization, which correlates with different software portfolios and device usage patterns. Measuring how DPI scaling and ANGLE combine on your specific display shows which Windows 11 signals contribute most to your overall fingerprint uniqueness.
When to use this
Use this guide when analyzing why a Windows 11 browser produces a higher entropy score than macOS or Linux, or when evaluating which Windows-specific signals contribute most to fingerprint uniqueness.
Examples
Windows 11 font detection vs. macOS baseline
macOS Safari or Chrome: probing for Segoe UI returns width matches fallback font (absent), OS confirmed as non-Windows
Windows 11 Chrome: probing for Segoe UI returns a different width (present), immediately confirms Windows OS without any other signal
A single font probe for Segoe UI is sufficient to distinguish Windows from macOS and Linux. Advanced scripts probe 100+ fonts to build a detailed application portfolio signature.
ANGLE renderer string vs. macOS Metal renderer
macOS Chrome: `UNMASKED_RENDERER_WEBGL` → "Apple M2" or "AMD Radeon Pro 5500M OpenGL Engine"
Windows 11 Chrome: `UNMASKED_RENDERER_WEBGL` → "ANGLE (NVIDIA GeForce RTX 4070 Direct3D11 vs_5_0 ps_5_0)"
The ANGLE prefix uniquely identifies Windows Chrome. The Direct3D version in the string further identifies the Windows version and GPU driver generation.
- 1.
Microsoft, "Font List Windows 11," learn.microsoft.com, accessed July 2026. https://learn.microsoft.com/en-us/typography/fonts/windows_11_font_list
- 2.
ANGLE, "Almost Native Graphics Layer Engine," chromium.googlesource.com, accessed July 2026. https://chromium.googlesource.com/angle/angle/+/HEAD/README.md
- 3.
Microsoft, "Scale and Layout for Windows," learn.microsoft.com, accessed July 2026. https://learn.microsoft.com/en-us/windows/apps/design/layout/screen-sizes-and-breakpoints-for-responsive-design
- 4.
Mozilla Developer Network, "CanvasRenderingContext2D: measureText() method," developer.mozilla.org, accessed July 2026. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/measureText
- 5.
"Direct3D," Wikipedia, accessed July 2026. https://en.wikipedia.org/wiki/Direct3D