Skip to content
Free tool · Runs in your browser

WebGPU test

Whether WebGPU works in your browser, which GPU adapter it exposes with its features and limits, and whether that agrees with WebGL and with a worker.

Asks for a WebGPU adapter and device, reads what the adapter says about the GPU, renders a small scene twice, and compares the answer with a worker's and with WebGL's. Everything runs in this tab; nothing is sent to a server.

Asking for a GPU adapter…

What the test does

It calls navigator.gpu.requestAdapter(), reads the adapter's info, features and limits, asks for a device on it, and renders a small triangle twice through a WebGPU pipeline. It also asks for a low-power adapter: a laptop with integrated and discrete graphics answers with two different GPUs, a single-GPU machine with the same one.

The adapter hash is a SHA-256 of the info, features and limits together. It changes with the GPU, the driver and the browser version, because new browser versions add features and raise limits.

Cross-checks

The same adapter is requested again from a worker, which should see exactly what the page sees. The scene is rendered twice, and the two images should be identical. And the adapter's vendor is compared with the GPU that WebGL reports: WebGL names the model (for example an NVIDIA GeForce RTX 3070 through Direct3D 11), WebGPU the family (nvidia, ampere), and the two should point to the same maker.

These are the kinds of agreement the browser fingerprint test checks across every surface. A fallback (software) adapter is reported as a note rather than a problem: it is what WebGPU gives on machines without a usable GPU.

Related surfaces

WebGL and canvas are the older rendering surfaces; audio and fonts describe the rest of the machine.

FAQ

How do I know if my browser supports WebGPU?

The line at the top of the result says it in one of four ways: supported and working; supported but with no GPU adapter; an adapter found but no device; or not supported. Only the first means pages can use WebGPU. The API is only offered on secure pages (https), so a test on a plain http page always says no.

Which browsers support WebGPU?

Chrome and Edge on Windows, macOS and ChromeOS since version 113, and on Android since 121; on Linux it depends on the version, the GPU and the driver. Firefox and Safari have enabled it more recently. Even where the API exists, the browser can withhold an adapter from a GPU or driver it does not trust, which is the "no GPU adapter" result.

Why is navigator.gpu there but there is no adapter?

The browser supports WebGPU but has no GPU to give it: hardware acceleration is off, the GPU or driver is blocklisted, or the machine has no graphics backend WebGPU can use, which is common on servers and in virtual machines. Chrome 155 on Windows 11 started with its GPU disabled gave exactly this: navigator.gpu present, requestAdapter() returning null.

What is GPUAdapterInfo?

The adapter's description of itself: vendor, architecture, device and description. Browsers fill in as little as they can. Chrome 155 on Windows with an NVIDIA RTX 3070 reported nvidia and ampere and left device and description empty: a GPU family, not a model.

Can WebGPU be used for fingerprinting?

Yes. The vendor and architecture, the list of features and about thirty-six numeric limits all depend on the GPU and driver, and a page can read them without drawing anything. Researchers have also shown that timing GPU work can tell individual machines of the same model apart. This page reads the adapter and hashes it; it does not time anything.

Why compare WebGPU with WebGL?

Because they describe the same hardware through two separate APIs. A GPU spoof that rewrites WebGL's renderer string and forgets WebGPU leaves the two naming different vendors. The comparison here works on the vendor family, since WebGL names a model and WebGPU usually only a family; a laptop with two GPUs can legitimately give the two APIs different chips.

Clearcote puts this into practice

An open-source Chromium with fingerprint control compiled into the engine. A drop-in for Playwright & Puppeteer.

Free for one browser with GitHub. No card.