WebGPU's preferred canvas format belongs to the claimed OS
bgra8unorm under a Windows or macOS claim. Shown but not judged under Linux and Android claims; N/A where navigator.gpu is absent and on non-Chromium engines (severity: warn).
What a detector infers
navigator.gpu.getPreferredCanvasFormat() returns the texture format the platform's compositor wants to be handed, and Chrome on Windows and macOS prefers bgra8unorm. It is one call with no adapter to request, which makes it easy for an identity claiming another operating system to overlook. webgpu-canvas-format-readout shows this value without judging it, on the grounds that a per-platform table could go stale.
This row scores one part of it because the audit's own visitors settle that part: in the corpus, 174 of 174 Windows visitors and 65 of 65 macOS visitors report bgra8unorm, and Chrome and Edge on Windows measured the same. Genuine Chrome on Linux reports rgba8unorm, and kept reporting it under a coherent Windows override applied through the DevTools protocol — the case this row catches. Only the Windows and macOS claims are asserted.
A Linux claim is shown but not judged, because Linux's answer can vary with the graphics driver, and Android is left unscored because real Android devices report both formats (19 rgba8unorm and 5 bgra8unorm in the corpus). N/A where WebGPU is unavailable, including outside secure contexts, and on non-Chromium engines.
How to resolve it
The preferred format comes from the compositor the browser actually talks to, below any user-agent or platform override. Present the operating system the browser runs on; changing the platform claim leaves this value describing the real one.
Nearby checks in Render & GPU
- Every extension WebGL hands out is one it advertises
webgl-gettable-is-advertisedIn Chrome, getSupportedExtensions() and getExtension() read the same set: an extension the context can hand out is one it lists, and one it… - WebGL state reads back what the page just set
webgl-state-reads-backSome WebGL parameters are not capabilities but state the page itself controls. - readPixels writes only the pixels it was asked to read
webgl-readpixels-sentinelreadPixels writes into an array the page supplies, and the WebGL specification is precise about the edges: when the requested rectangle… - A worker OffscreenCanvas encodes the pixels it reads back
offscreen-canvas-exits-agreeA canvas has more than one way out. getImageData hands pixels straight to script; convertToBlob encodes the same pixels into a file, and… - A WebGPU device accepts every limit and feature its adapter advertises
webgpu-device-honours-adapterA WebGPU adapter advertises limits and features, and the device it creates is validated against them by Dawn, Chrome's WebGPU… - WebGL renderer (software vs hardware)
webgl-not-softwareThe audit reads UNMASKED_RENDERER through the WEBGL_debug_renderer_info extension and matches it against SwiftShader, llvmpipe and Software. - 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…
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 webgpu-canvas-format-vs-os belongs to.
