What is my WebGL renderer?
This is the most identifying line on the whole dashboard, and no permission was needed to read it. It names your graphics hardware and frequently the driver version, and that combination is shared by far fewer people than your browser or your screen size. If you only harden one signal, harden this one.
Your WebGL renderer and vendor strings are shown above. WebGL is the browser technology that lets pages draw hardware-accelerated 3D graphics, and to do that it exposes details about your graphics processor. The renderer string often names your actual GPU, something like a specific integrated or discrete graphics chip.
This is one of the more revealing things a browser hands out, because the exact GPU model plus its driver quirks is far less common than a browser name. It is a headline example of how a feature built for capability (running 3D) doubles as a fingerprinting surface.
There is also WebGL fingerprinting proper, where a script renders a hidden 3D scene and reads back tiny rendering differences that vary by GPU and driver. The renderer string is the visible part; the rendering test is the subtler one, and both feed device identification.
How a website reads this
This is the exact call a page makes. Nothing else is involved, and nothing is sent anywhere: the value is read in your browser and displayed to you.
gl.getParameter(gl.getExtension('WEBGL_debug_renderer_info').UNMASKED_RENDERER_WEBGL)Returns a driver-supplied renderer string that names your graphics chip and often its driver. No prompt, no click. Firefox restricts the debug extension, and Safari returns a generic Apple string, so the card can be vague or empty in either.
- Needs your permission
- No, it is read silently
- Can it be faked
- Partly. Extensions and hardened browsers can mask or randomise it. Randomising is a mixed blessing: a value nobody else reports is itself distinctive.
- Contribution to a fingerprint
- About 7 bits, our own estimate. Our estimate, and the highest single figure on this site apart from canvas. The reasoning: the string is long, precise and names hardware, so it splits visitors far more finely than any browser-level signal. How we estimate this.
What each browser does with it
The same call does not give the same answer everywhere. Several browsers withhold, round or cap this value on purpose, so a blank or suspiciously round result is usually a privacy decision rather than a fault.
| Browser | What it reports |
|---|---|
| Chrome and Edge | Return the full unmasked renderer string, hardware and driver included. |
| Firefox | Restricts WEBGL_debug_renderer_info; with resistFingerprinting on, the string is generic. |
| Safari | Returns a generic Apple GPU string rather than the specific chip. |
| Tor Browser | Blocks or normalises the value entirely. |
What you should know
Why sites collect it
Legitimately, games, 3D viewers, map engines and creative tools read the GPU string to choose effects your hardware can handle and to work around known driver bugs. Fingerprinting scripts collect it because it is unusually distinctive.
Privacy implications
The WebGL renderer is a high-entropy fingerprinting signal. Naming your specific GPU narrows your device considerably, especially combined with screen and OS. Because of this, privacy browsers mask or generalise the renderer string, and some block the identifying extension entirely.
How to change or hide it
Privacy browsers like Tor Browser and Brave can spoof or block the WebGL renderer so it reports a generic value or nothing. You can disable WebGL in some browsers, though that breaks legitimate 3D content. Blending in with a common value is usually better than a unique one.
Frequently asked questions
Why can a website see my graphics card?
WebGL exposes a renderer string so 3D content can adapt to your hardware. That same string often names your GPU, which is why it is a strong fingerprinting signal.
How do I hide my WebGL renderer?
Use a privacy browser that masks or generalises it, such as Tor Browser or Brave with fingerprint protection. Disabling WebGL entirely also works but breaks 3D content.
Sources
Browser behaviour changes and vendors cap these values differently, so the claims above that are not self-evident are checked against the specifications and vendor documentation below.
Last checked on . How these values are measured and estimated is set out on the methodology page.
Something wrong here? Tell us what your browser reports and it gets corrected.