The WebGL renderer string is one ANGLE's Direct3D 11 backend can print
Under a Chromium 123+ claim with a Direct3D 11 renderer, the string reads "ANGLE (<vendor>, <adapter> (0x<8 upper-case hex>) Direct3D11 vs_M_m ps_M_m, D3D11)" with matching shader models. N/A for other backends (Metal, Vulkan, OpenGL), older majors and non-Chromium engines (severity: warn).
What a detector infers
On Windows, Chrome's WebGL renderer string is assembled by ANGLE's Direct3D 11 backend, not typed by anyone: the adapter's description, then the DXGI device id, then the shader model — "<description> (0x<id>) Direct3D11 vs_5_0 ps_5_0" — wrapped by Chrome as "ANGLE (<vendor>, …, D3D11)".
The id goes through ANGLE's hex formatter, which always prints the 32-bit value as eight upper-case hex digits ("0x00002484"), and the vertex and pixel shader models are printed from the same device level, so they always match. Measured across Chromium builds on one GPU: Chromium 110 printed no device id at all, and every build from 123 through 153 prints it.
A string with no id, a four-digit id, lower-case hex or mismatched shader models, under a claim of Chromium 123 or later, is therefore not something the browser produced — it was typed by hand or copied from a capture of an older Chrome, which is how persona tables are usually filled.
How to resolve it
Copy renderer strings verbatim from captures of the Chrome major being claimed, or leave the renderer to the browser. A persona table filled from older captures carries the pre-123 shape with no device id.
Nearby checks in Render & GPU
- WebGPU vendor coheres with WebGL vendor
webgl-webgpu-vendorTwo independent graphics stacks in the same browser are backed by the same physical adapter: this check lowercases the WebGL UNMASKED_VENDOR… - WebGPU's architecture is the one Chrome's own table gives the GPU WebGL names
webgpu-architecture-vs-rendererGPUAdapterInfo.architecture is not free text. Chrome's WebGPU implementation derives it from the GPU's PCI device id through its own table… - WebGPU's subgroup size is the wave width of the GPU WebGL names
webgpu-subgroup-vs-rendererChrome's WebGPU implementation (Dawn) reports GPUAdapterInfo.subgroupMinSize from the driver: on Windows the Direct3D 12 backend reads… - WebGPU's features and limits fit the hardware GPU WebGL names
webgpu-features-vs-rendererOn Windows, Chrome's WebGPU runs on Direct3D 12, and Direct3D bounds what an adapter can expose: DXGI has no ASTC or ETC2 formats at all, BC… - WebGL exposes a full parameter table + UNMASKED vendor/renderer
webgl-param-tableBeyond the two headline strings, a WebGL context answers getParameter for dozens of driver-specific limits. - WebGL parameters return the JavaScript types the specification assigns them
webgl-param-value-typesgetParameter does not return loose values: the WebGL specification fixes the JavaScript TYPE of each one. - The anisotropy limit reads as a number once its WebGL extension is enabled
webgl-anisotropy-after-extensionEXT_texture_filter_anisotropic adds exactly one parameter to getParameter, MAX_TEXTURE_MAX_ANISOTROPY_EXT, and the extension guarantees it… - A Direct3D 11 WebGL renderer reports the uniform limits ANGLE fixes for its vendor
webgl-d3d11-limits-vs-vendorChrome, Edge, Brave and Firefox on Windows render WebGL through ANGLE's Direct3D 11 backend, and that backend does not ask the driver for…
Clearcote is a browser built for fingerprint coherence
It is a Chromium fork, maintained by the same people who wrote this reference. It ships as a compiled browser rather than as a stealth script injected into someone else's — which is a description of how it is built, and is not an argument about how it behaves on this check.
This audit takes no position on how Clearcote scores on Render & GPU checks, on this one, or anywhere else. It has no baseline corpus of other people's fingerprints to rank you against and no vendor scoreboard — nearly every check is self-referential, asking one browser the same question through two independent APIs and reporting whether both answers can be true at once. It runs identically on any browser, including ours. Run it on yours and read the result yourself.
See the other checks in Render & GPU — the family webgl-renderer-angle-format belongs to.
