What does a website know about my screen?

More than the size. Your screen dimensions, the window you are reading in, your display scaling and, most consequentially, the graphics chip drawing this page. That last one is read without a prompt and is the most identifying value anywhere on this site.

Display

The size, density and graphics of the screen you are reading on.
WebGL rendererlive
Reading...
What your webgl renderer reveals
Screen resolutionlive
Reading...
What your screen resolution reveals
Viewport sizelive
Reading...
What your viewport size reveals
Color depthlive
Reading...
What your color depth reveals
Device pixel ratiolive
Reading...
What your device pixel ratio reveals
GPUlive
Reading...
What your gpu reveals

Every display signal, with the call behind it

6 signals, none of which ask your permission first. The entropy column is this site's own estimate of how much each signal narrows a crowd, not a measured population statistic; the methodology page explains why that distinction matters.

Display signals with detection API, permission, entropy estimate and spoofability
SignalJavaScript callPermissionEntropy (bits, estimated)Fakeable
Screen resolutionscreen.width and screen.heightNone4.5Partly
Viewport sizewindow.innerWidth and window.innerHeightNone4Partly
Color depthscreen.colorDepthNone0.5Partly
Device pixel ratiowindow.devicePixelRatioNone1.5Partly
WebGL renderergl.getParameter(gl.getExtension('WEBGL_debug_renderer_info').UNMASKED_RENDERER_WEBGL)None7Partly
GPUgl.getParameter(gl.getExtension('WEBGL_debug_renderer_info').UNMASKED_VENDOR_WEBGL)None2Partly

Four numbers that all mean different things

Screen resolution, viewport size, device pixel ratio and colour depth are constantly confused with each other, and each answers a different question. The screen is the whole panel in CSS pixels. The viewport is the part of it your page was given, scrollbars included. The pixel ratio is how many device pixels make up one CSS pixel. Colour depth is bits per pixel.

The trap is display scaling, which sits between the panel and the numbers. At 150 per cent scaling a 3840 pixel wide monitor reports 2560, so the resolution a site sees is not the one printed on the box. Multiply the reported width by the pixel ratio and you get back to the hardware.

Colour depth used to be interesting and now is not. Browsers converged on reporting 24 regardless of what the display can do, precisely to remove it as a fingerprinting surface. Anything other than 24 today is more likely to be an unusual configuration than a better monitor.

The WebGL renderer is the outlier

The other five signals in this category are coarse. The WebGL renderer is not: it returns a driver-supplied string naming your graphics chip and frequently its driver version, and no permission is required to read it. A long, precise hardware string splits visitors far more finely than any browser-level value can.

This is why the fingerprint estimate on this site assigns it the largest single contribution of any passively read signal. If you are going to harden exactly one thing, harden this one.

Browsers differ sharply here. Chromium returns the full unmasked string. Firefox restricts the debug extension that exposes it, and reports a generic value under resistFingerprinting. Safari returns a generic Apple string. Tor Browser blocks it. A vague answer in this card means your browser is doing something for you.

Why a stable value is worse than a variable one

Viewport size changes every time you resize a window, open devtools or rotate a phone. That variability makes it a poor handle for recognising a returning visitor, however precise it is at any one moment.

Screen resolution and the WebGL renderer do not change. They are properties of hardware you keep for years, they survive clearing cookies, private browsing and reinstalling your browser, and that persistence is what makes them valuable to a tracker. Precision and stability together are the problem, not precision alone.

Frequently asked questions

Why does this show a smaller resolution than my monitor has?

Display scaling. Browsers report CSS pixels, and at 150 or 200 per cent scaling those are fewer than the panel's physical pixels. Multiply the reported width by your device pixel ratio to recover the hardware resolution.

What is the difference between screen resolution and viewport size?

The screen is your whole display. The viewport is the area inside the browser window that your page is drawn into, which is always smaller and changes when you resize the window or when a mobile address bar collapses.

Can a website see my graphics card?

In most browsers, yes, without asking. The WebGL debug renderer extension returns a string naming the chip and often the driver. Firefox restricts it and Safari returns a generic value, so what you see depends on which browser you are reading this in.