Screen & Display · Browser Tests

Dark Mode & Display Test

Detect your colour scheme preference, display gamut, HDR support and reduced-motion setting.

Reading display preferences…
—
Colour scheme
—
Colour gamut
—
High dynamic range

Colour scheme

Accessibility preferences

Display capabilities

These values update live. Switch your system between light and dark, or turn on reduced motion, and this panel changes with it — the page itself stays on its own cream theme either way. Nothing is uploaded.

On this page
  1. How a page knows your colour scheme
  2. Accessibility preferences
  3. Gamut, HDR and colour depth
  4. What these signals cannot do
  5. Why they matter to trackers

How a page knows your colour scheme

Operating systems expose an appearance setting — light, dark or an automatic schedule — and browsers pass it to every page as a CSS media query called prefers-color-scheme. No permission is involved and no prompt appears. A page can read it in CSS with a single rule, or in JavaScript through window.matchMedia, which is what the panel above does.

The query answers one of three ways: dark, light, or neither, when the browser declines to report a preference. Every modern browser reports the setting the operating system hands it — the Windows Choose your mode setting, the macOS Appearance pane, or the equivalent on Android, iOS and the Linux desktops that expose one.

Read live, not once

This panel listens for change events on every query it uses. Switch your system theme while the page is open and the numbers update without a reload.

Accessibility preferences beyond dark mode

The same mechanism carries three settings that exist for accessibility rather than aesthetics. prefers-reduced-motion reports that you have asked interfaces to avoid animation, and a well-built page responds by dropping transitions and parallax. prefers-contrast reports a request for more or less contrast than the default, with custom as a third answer on systems that let you tune it yourself.

Two more report states rather than preferences. forced-colors becomes active when Windows High Contrast mode is on and the browser is overriding page colours with a system palette — at which point a site's careful colour choices are replaced wholesale. inverted-colors reports a system-level colour inversion, which is worth checking for, because images and shadows look wrong under it. Support is uneven. The transparency and inversion queries are reported by Safari, and most other browsers do not implement them at all, so on a typical Windows machine those two rows read No preference and None no matter what you have configured elsewhere.

Colour gamut, HDR and colour depth

Three queries describe the panel rather than your settings. color-gamut reports whether the display can show srgb, p3 or rec2020 colours, and a browser answers with the widest range it can actually use — a P3-capable MacBook reports p3 for both the p3 and srgb queries, because P3 contains sRGB.

dynamic-range answers standard or high, separating an ordinary SDR panel from one the system has recognised as HDR-capable. screen.colorDepth, reported above, is the older read-out: it is 24 on essentially every modern display, and its companion pixelDepth returns the same figure. None of these values can be changed from a web page — they describe hardware, and the browser simply reports what the operating system tells it.

What these signals cannot do

A page cannot change your theme, and it cannot tell what colours are actually on your screen. All it knows is what you declared. If you run a dark-mode browser extension that repaints every site, the media query still reports whatever your operating system says, so the answer above may disagree with what you are looking at.

Coverage is uneven, too. A query a browser does not implement simply evaluates to false rather than throwing, so No preference may mean either that you have not set the preference or that your browser cannot answer the question. On the display side, dynamic-range is newer than the rest and is not supported everywhere, so an SDR reading on an HDR-capable screen is a limitation of the browser rather than a fact about your hardware.

One related mechanism is worth knowing because it is often confused with the media query. The CSS color-scheme property lets a page tell the browser which schemes it is prepared to render, and the browser then draws its own furniture — scrollbars, form fields, the canvas behind the page — to match. It reads the same system setting but changes nothing about what the media query reports, and it is a request from the page rather than a measurement of your machine.

Why display preferences matter to trackers

On its own, a dark-mode flag is nearly worthless as an identifier, since hundreds of millions of people share it. Its value to a tracker is as a tie-breaker: when two visitors otherwise look identical, one small preference can separate them. That is the pattern across every signal on this site, and it is why fingerprinting is measured as a whole rather than signal by signal.

The display capabilities are the more informative half. Gamut plus dynamic range plus colour depth narrows down the panel, and combined with the ratio and resolution in the device pixel ratio test and the screen resolution test, it describes a fairly specific machine. The browser fingerprint test shows what that amounts to overall.

Frequently Asked Questions

Is my device in dark mode?
The answer is at the top of the panel. It comes from the CSS media query prefers-color-scheme: dark, which reports the appearance setting your operating system exposes to applications. Every page you visit can read it, whether or not that page has a dark theme of its own.
Why does this page stay light when my system is dark?
Because this site deliberately ships a single warm cream theme rather than two. The media query still reports dark, and the panel above still shows it — the site simply chooses not to act on it. Reading the preference and honouring it are separate decisions, and a site is free to read without switching.
What is prefers-contrast and prefers-reduced-motion?
Two more preferences your system exposes. prefers-contrast reports whether you have asked for more or less contrast, and prefers-reduced-motion reports whether you have asked interfaces to avoid animation. Both are accessibility settings, and browsers pass them through so sites can respect them without any extra permission.
What does colour gamut tell me about my screen?
How wide a range of colours your display can reproduce. sRGB is the standard range nearly every screen manages; p3 covers more saturated reds and greens and is common on modern laptops and phones; rec2020 is wider still. A wider gamut does not mean a better screen, only a larger palette available to well-designed pages.
Do these display settings make me easier to identify?
Slightly. A dark-mode preference is shared by a large share of users, so it adds little. The gamut and dynamic-range answers matter more, because they narrow down the panel you are using. The browser fingerprint test shows how these values combine with the rest of your signals.