The WebGL renderer, often called the Unmasked Renderer, is a string value that identifies the graphics engine and GPU used when the browser runs WebGL. This string usually reveals very specific details, such as:
- The GPU vendor and model (for example, NVIDIA, Intel, Apple, Adreno)
- The graphics backend or engine (e.g. ANGLE, Direct3D, OpenGL, Metal)
- In some cases, driver or shader model information (e.g. “vs_5_0 ps_5_0”)
- Whether the rendering is done via software fallback (e.g. SwiftShader) when no real GPU is available
Because of its specificity, the renderer string is one of the strongest signals in WebGL fingerprinting.
Why the Renderer String Matters for Fingerprinting
- High precision signal: The renderer string often contains very exact GPU and driver names, which helps distinguish between devices even if they have the same OS or browser.
- Mismatch detection: If the renderer indicates a mobile GPU but the User-Agent claims a desktop, or the screen size and OS don’t match that type of GPU, it’s a red flag for anti-bot systems.
- Essential alignment in spoofing tools: For tools that try to hide or “fake” identities (like Kameleo or other anti-fingerprinting solutions), it’s critical that the renderer value matches the rest of the profile (OS, browser engine, screen size, etc.). Inconsistent renderer metadata will break stealth.
- Renderer is harder to fake: Unlike many browser properties, the renderer string is deeply tied to hardware and graphics drivers, making it more difficult to spoof convincingly without advanced system-level control.