Tutorials Device
Screen and display fingerprints, and how to blend in
What your screen tells websites about your hardware.
The short version
Every website you visit can quietly read a few facts about your display: how big your screen is, how sharp it is, and how zoomed-in the page is. On their own these facts seem harmless, but stitched together they help a tracker recognize your device even with no cookies and no login. This page explains what's being read and the realistic ways to blend in. Be warned up front: some of this can be softened, but none of it can be perfectly hidden in an everyday browser.
What's actually happening
Think of it like describing a stranger across a room. "Tall" doesn't narrow it down much. "Tall, red coat, glasses, carrying a yellow umbrella" might point to one person. Each detail is common, but the combination is rare.
Your browser hands out those details automatically. The most common ones are your screen's total size (say 2560 by 1440), the usable size once you subtract the taskbar or dock, how many dots of detail it packs in (a "Retina" or high-resolution display reports more), your color depth, and your current browser zoom. A plain 1920x1080 laptop at default zoom is wonderfully boring and common. A 3840x2160 screen set to 125% display scaling with the browser zoomed to 110% is a rare snowflake.
Why it matters to you
- Trackers can follow you between websites without any cookie, just by recognizing the same unusual combination of traits.
- It works in private or "incognito" windows, because those still report the same screen.
- The more unusual your setup, the easier you are to single out, so some well-meant tweaks (custom zoom, exotic scaling) can actually make you more recognizable.
How to blend in
The goal is not to hide, it's to look like everyone else. Here's how, from easiest to strongest.
Reset your browser zoom (everyone, 10 seconds)
- On the page, press Ctrl and 0 together (Windows) or Cmd and 0 (Mac). That sets zoom back to 100%.
- Do this on sites where you'd bumped the text size up or down. A non-default zoom is one of the easiest traits to stand out on.
Avoid unusual display scaling (Windows)
- Open Settings, then System, then Display.
- Under Scale, the common choices are 100%, 125%, and 150%. These are fine and widely used. A custom value like 137% is rare, so skip custom scaling.
Avoid unusual display scaling (Mac)
- Open System Settings, then Displays.
- Pick one of the standard "Looks like" options rather than a hand-typed resolution.
Use a browser built to blend in (strongest)
- Tor Browser is the gold standard. It deliberately opens at a shared, rounded window size and keeps gray bars around the page so your window looks like thousands of others. Just don't manually maximize or resize it.
- Firefox has a similar protection built in. Go to Settings, then Privacy & Security, and turn on the fingerprinting protections there. It rounds your reported sizes so you blend in.
- Brave takes a different approach, adding tiny random "noise" so your fingerprint shifts each visit. It's on by default.
An honest caveat: on a normal Chrome or Safari window, your real screen size is always visible. You can reduce how unusual you look, but you cannot fully erase the display fingerprint without a browser like Tor.
How to check it worked
Run this test again after making changes. In Tor Browser or Firefox with protections on, you should see rounded, "tidy" numbers (like a window width that's a round multiple) and a less unusual overall profile. Reloading the page in Brave may show slightly different values each time, which is the randomization working.
If your result was already good
If you graded well here, your setup is already fairly common and hard to single out, and you don't need to change a thing. Keep your browser updated, leave zoom at 100% out of habit, and remember that a common, boring display is exactly what you want. If you later buy a very high-resolution monitor or change your scaling, it's worth re-checking this page, because a new display can make you stand out again.
Want to go further?
Switch to the Advanced version of this guide to see the exact properties being read (screen.width, devicePixelRatio, window dimensions and more), how Tor's letterboxing and Firefox's rounding actually work, and why randomization and uniformity are two different bets with different failure modes.
As an Amazon Associate, WhoAmI earns from qualifying purchases.
Summary
Your display contributes several medium-entropy values to a browser fingerprint: physical and available screen dimensions, device pixel ratio, color and pixel depth, inner window size, and current zoom. None is uniquely identifying alone, but in combination they add meaningful bits and are stable across sessions, incognito, and cookie clearing. You can reduce the entropy, but on a stock Chromium or Safari build you cannot zero it out.
What's actually being read
The display-related surface a page can query without permission includes:
- screen.width / screen.height — physical screen resolution in CSS pixels.
- screen.availWidth / availHeight — screen minus OS chrome (taskbar, dock, menu bar). This leaks OS and layout habits.
- window.devicePixelRatio — ratio of physical to CSS pixels. Combines monitor density and OS display scaling, so 1, 1.25, 1.5, 2, 3 are common, but something like 1.37 is rare and revealing. Changing browser zoom also changes this value, which is why non-default zoom is itself a fingerprintable signal.
- screen.colorDepth / pixelDepth — almost always 24 or 30 (HDR/wide-gamut); an unusual value stands out.
- window.innerWidth / innerHeight and outerWidth / outerHeight — the viewport and window size, which combined with the above can reveal whether you've maximized, snapped, or custom-sized the window.
- screen.orientation and the matchMedia queries for resolution, color-gamut, and prefers-* features.
These persist across private windows because they describe hardware and OS configuration, not browsing state.
Why it matters
Display values are a reliable, low-cost component for cross-site linking. A tracker doesn't need every bit of your fingerprint to be unique, only the joint distribution to be rare in its population. Because display values are stable, they anchor a fingerprint even as more volatile signals (fonts, canvas) drift. They also survive the mitigations most people reach for first, such as clearing cookies or using incognito.
How to reduce it, per approach
Tor Browser (uniformity, strongest)
- Tor Browser ships with letterboxing: it quantizes the content window to fixed step sizes (historically 200x100 px increments) and fills the remainder with neutral margin, so reported inner dimensions fall into a small shared set rather than your exact window size.
- It reports a generic devicePixelRatio and a standardized screen profile, aiming for one large anonymity set.
- Do not maximize or manually resize beyond the suggested window, and do not full-screen content, or you reintroduce your real dimensions.
Firefox privacy.resistFingerprinting / RFP (uniformity)
- RFP imports Tor-derived protections into Firefox. Enable it via the UI fingerprinting-protection toggle, or set privacy.resistFingerprinting = true in about:config for the full behavior.
- With RFP, Firefox rounds window dimensions (letterboxing), spoofs a generic UA, reports timezone as UTC, standardizes the font list, and restricts canvas readback.
- Trade-off: RFP is aggressive and can break layouts, force UTC timestamps, and the generic UA itself is detectable. Firefox's newer, lighter "fingerprinting protection" (fingerprintingProtection prefs, independent of RFP) targets known trackers with fewer side effects.
Brave (randomization / "farbling")
- Brave perturbs several fingerprinting surfaces (canvas, WebGL, audio, and some device signals) with per-session, per-eTLD+1 noise, so repeated reads don't stabilize into one value.
- Control it under Shields, "Block fingerprinting." Default (Standard) is on.
- Trade-off: randomization can itself be detectable (a tracker that sees noise where none should exist learns you're a Brave user), and Brave still reports largely real screen metrics, so this helps more with canvas/audio than with raw display dimensions.
Stock Chrome / Edge / Safari (harm reduction only)
- Keep zoom at 100% (Ctrl/Cmd+0). Non-default zoom shifts devicePixelRatio and is high-signal.
- Use standard OS display scaling (100/125/150%), never custom values, to keep devicePixelRatio in a common bucket.
- Prefer common physical resolutions; a 1920x1080 or 2560x1440 panel at default scaling lands in a large anonymity set, whereas ultrawide or 4K-at-custom-scaling is rare.
- Accept the limitation: these browsers expose real values by design. You are shrinking, not eliminating, the signal.
How to verify
Re-run this test and also compare against a dedicated fingerprint lab (for example the EFF's Cover Your Tracks or amiunique.org), which reports the entropy, in bits, that each value contributes and how many other testers share your value. For Tor/RFP, confirm window inner dimensions report as rounded steps. For Brave, reload and confirm volatile surfaces change while display metrics stay put. Open the console and read screen.width, window.devicePixelRatio, and window.innerWidth directly to see exactly what a script sees.
If your result was already good
A strong grade means your joint display profile is common in the test population, which is the goal. There's no action to take. Keep the browser updated so protections stay current, avoid drifting into custom zoom or scaling, and re-test after any hardware or OS display change, since moving to a high-DPI or ultrawide panel can push you back out of the crowd.
Want to go further?
The display fingerprint is only one vector. Pair this with the hardware-fingerprinting guide (CPU, memory, battery), the canvas/WebGL surfaces, and the extensions guide, since a privacy extension that alters the page can itself become a distinguishing signal. The strategic choice is uniformity (Tor/RFP, be identical to many) versus randomization (Brave, be different each time); they fail in opposite ways, so pick based on your threat model and don't mix half-measures that leave real values exposed.