What screen.width, availHeight and devicePixelRatio tell a page about your display, why they add only a few bits, and how Tor letterboxing hides them.
Every page you open can read how big your display is, how much of it the operating system leaves free, and how many device pixels sit behind each CSS pixel. None of it needs a permission prompt. On its own the result is a common, low-entropy value, but it is one of the cheapest signals a tracker can add to a larger fingerprint, and one of the easiest for a detector to cross-check.
Key Takeaways
- A page can read
screen.width,screen.height,screen.availWidth,screen.availHeight,screen.colorDepthandwindow.devicePixelRatiowith no prompt. availHeightis usually smaller thanheightbecause the taskbar, dock or menu bar takes space; that gap reveals part of your desktop layout.devicePixelRatiochanges with display scaling and browser zoom, so it describes your current setup, not only your hardware.- Screen values are low-entropy on their own. They matter because they multiply with GPU, fonts and platform, as the anonymity-set arithmetic shows.
- Defences work by putting everyone into a few buckets: Tor Browser letterboxing and Firefox's resist-fingerprinting rounding.
What a Page Can Read
The Screen interface on MDN lists the properties of the display the window is on. The ones used in fingerprinting are:
| Property | What it reports |
|---|---|
screen.width / screen.height | Size of the screen in CSS pixels |
screen.availWidth / screen.availHeight | Space available to the page, minus OS interface such as a taskbar |
screen.colorDepth | Bits used per pixel for colour |
window.devicePixelRatio | Ratio of physical pixels to CSS pixels |
window.innerWidth / outerWidth (and heights) | Size of the viewport and of the whole browser window |
The window sizes are defined in the W3C CSSOM View Module, alongside the screen properties. Note that width and height are in CSS pixels, not hardware pixels. A laptop with a physical panel of 2880 by 1800 and a device pixel ratio of 2 normally reports 1440 by 900.
Why Available Size Differs From Full Size
MDN's availWidth page describes the value as the width of the screen minus any permanently displayed user-interface features, such as a taskbar. The same goes for availHeight. So a screen reported as 1920 by 1080 with availHeight of 1040 suggests something about 40 pixels tall is reserved, which could be a taskbar. A dock that hides itself, or a menu bar on another edge, produces different numbers.
That gap is a small but real leak of how the desktop is arranged. Two users with identical monitors can still differ here because of taskbar size, position or auto-hide settings. We do not list per-OS gap values here, because they change between OS versions and user settings.
devicePixelRatio: Scaling Shows Through
MDN's devicePixelRatio page defines it as the ratio of the resolution in physical pixels to the resolution in CSS pixels for the current display device. Two things move it:
- Display scaling. A 4K monitor set to 150% in the OS settings reports a different ratio than the same monitor at 100%.
- Browser zoom. On many desktop browsers, zooming changes the ratio, because it changes how many device pixels cover a CSS pixel. MDN notes that zoom affects the value, so it can differ between two visits from the same machine.
This makes it a signal about your current configuration. It can also help tell apart a browser on a high-density display from one on a standard display, which screen.width alone cannot do.
Why a Tracker Wants It Anyway
A screen of 1920 by 1080 is shared by a very large share of desktop users, so the value alone puts you in a big crowd. The risk is multiplication. Each independent attribute shrinks the crowd, and screen geometry is independent of the GPU renderer, the font list and the time zone. The browser fingerprinting guide lists where screen data sits among the other signals, and entropy and anonymity sets shows how a handful of low-entropy bits add up.
It also has two properties trackers like. It is passive: no API probing or rendering test is needed, just property reads. And it is cheap: it runs instantly, so it adds no visible delay.
Unusual values stand out more. A rare monitor size, a non-integer ratio from custom scaling, or a window size that no standard monitor produces narrows the crowd far more than a common 1080p panel does. Mobile browser fingerprinting covers how phones, with their many pixel ratios, behave differently from desktops.
Window Size Is a Separate Signal
The page can read the size of the viewport and the browser window, not only the screen. These change when you resize, snap, or open developer tools, so they identify a session more than a device. They also leak a little context: a viewport narrower than the screen suggests a window that is not maximised. The CSS media query fingerprinting post shows a related path, where CSS queries expose similar geometry without any script reading screen.
Multiple Screens and the Window Management API
With several monitors, the basic screen object describes only the display the window is on. The Window Management API is designed to let a page get details about all connected displays and place windows across them. MDN describes it as sitting behind a permission, so it is not an unprompted signal like the properties above. We make no claim here about which browsers support it; check the compatibility table on that page for your targets.
The Consistency Angle
Screen values should match the device the browser claims to be. A mobile user agent reporting a 2560 by 1440 screen with a ratio of 1 is a mismatch, and so is a window bigger than the screen it supposedly sits on. Automation tools that change the user agent but forget the screen leave exactly this seam. The fingerprint consistency checklist has the screen check among seven, and hardwareConcurrency and deviceMemory covers another pair of values that a plausibility check can compare.
Rendering geometry is another cross-check. Page elements measured through script depend on scaling, as ClientRects fingerprinting explains, so a claimed ratio that disagrees with measured geometry is one more place a story can fall apart.
Defences: Rounding Into Buckets
The aim of a defence is a bigger crowd, not a random fake.
- Tor Browser letterboxing. The Tor Browser 9.0 release post describes a content window rounded to a multiple of 200 by 100 pixels, so users fall into a few buckets. Letterboxing handles resizing and maximising by adding white margins so the window stays close to the wanted size while still landing in a bucket.
- Firefox resist-fingerprinting.
privacy.resistFingerprintingborrows the same rounding idea. See resist fingerprinting explained for what it changes and what it breaks.
The trade-off is visible: margins around the page, and a slightly imprecise layout.
What BrowserInsight Actually Does
Stated plainly: the fingerprint check shows width by height, the device pixel ratio, colour depth and the available area exactly as your browser reports them. The bot detection page runs a screen_size plausibility check on a sane range (320 to 7680 wide, 480 to 4320 tall). Its developer-tools check also compares the outer window size with the screen size when the user agent claims a mobile device, because a large gap there is typical of DevTools device emulation. Beyond that, it does not cross-check screen values against your user agent or GPU. All collection runs in your browser and nothing is sent to a server.
Frequently Asked Questions
Is my screen resolution unique? Rarely, on its own. Common sizes are shared by many people. It becomes identifying only in combination with other signals.
Why does availHeight differ from height?
The OS reserves space for interface such as a taskbar or dock, and availHeight excludes it.
Does browser zoom change my screen size?
It reliably changes devicePixelRatio and the viewport size in CSS pixels. Whether the reported screen size changes too depends on the browser, so do not treat screen.width as zoom-proof.
Does a VPN hide my screen resolution? No. A VPN changes your network address, not what your browser reports about its display.
Conclusion
Screen size, available area and pixel ratio are small, passive signals that need no permission and add a few bits to any fingerprint. Their larger role is as a plausibility check against the device a browser claims to be. See what your own browser reports on the fingerprint checker, and read the browser fingerprinting guide for the full picture.

