# Prefers-color-scheme dark mode share: why we draw 30%

> The prefers-color-scheme dark mode share in real traffic is far below survey figures. Every profile on our Mac said dark; now each draws dark 30% of the time.

Source: https://mosaicbrowser.com/blog/dark-mode-thirty-percent

## Why 30% of our profiles use dark mode

The prefers-color-scheme dark mode share in real traffic is far below survey figures. Every profile on our Mac said dark; now each draws dark 30% of the time.

![30%: Drawn from what browsers send, not what people say, beside a screenshot: mosaic general settings: theme and how profiles launch](https://mosaicbrowser.com/covers/dark-mode-thirty-percent.webp)

The share of browsers that report `prefers-color-scheme: dark` is well below what people say when asked whether they like dark mode, so that is the number we draw from. Each Mosaic profile now claims dark mode 30% of the time. Before September 2026 every profile on our build Mac claimed dark, because the Mac itself was set to dark.

## How it was found

The question was small: do profiles randomise dark mode? We drew two profiles with different machines, screens and graphics chips, opened a local page in each, and printed macOS's own settings beside them. Both said `dark`, and so did the Mac. A value identical in two unrelated profiles and equal to the computer underneath is not a claim the profile makes. The profile has inherited it from the host.

The same page asked for every client hint, and the value was there too, as a request header: `Sec-CH-Prefers-Color-Scheme: dark`. A site that requests the hint gets it before running any script.

Dark mode was the mildest row of that sweep. The same Mac also had reduced motion and reduced transparency turned on, two accessibility settings a small minority use, and every profile was reporting both. A rare trait shared by every profile on one machine is worse than a common one, because it narrows the group a site has to look at.

Mosaic is a desktop app

Email yourself the link and open it on your computer.

[How it works: Machines that exist](https://mosaicbrowser.com/features/real-fingerprints)

## The prefers-color-scheme dark mode share, not the survey share

The first number that comes to mind is the survey number. Ask people whether they prefer dark mode and a large majority say yes. If we drew profiles from that, most of them would be dark.

A site does not see preferences, though. It sees what the operating system reports, and many people who like dark mode in principle never change the light theme their computer shipped with. The traffic measurements we read before picking a number all put dark well under a third of real visitors. A population of profiles drawn from the survey figure would be unusual in the direction we are trying to avoid: too many dark browsers coming from one place.

So we drew 30%. That is above the traffic figures we found, because use of dark mode has been rising, and far below the survey figures, because surveys are not what sites see. Being exactly right matters less here than being on the right side of the gap.

![Mosaic general settings: the app's own theme and how profiles launch](https://mosaicbrowser.com/shots/settings-general.png)
*The app's theme is yours; each profile's is its own*

## The other settings, drawn the same way

The accessibility settings got the same treatment, with smaller numbers:

```
prefers-color-scheme: dark        30%
prefers-reduced-motion: reduce     4%
prefers-reduced-transparency       2%
prefers-contrast: more             2%

```

For these the exact figure matters less than two properties: small, and not zero. Zero would be a population with no one using accessibility settings, which is not a real population either. What we were escaping was 100%, which is what inheriting a host with those settings on gives you.

## Drawn from the seed, so old profiles agree with themselves

We had 344 profiles on that machine when this changed, and a new rule in the generator reaches only profiles drawn after it. So the preferences are not stored at creation. They are computed from each profile's seed the first time they are read. An old profile gets a value without its file being rewritten, and it gets the same value at every launch, because the seed does not change.

Repairing a profile's hardware does not redraw them. A repair moves the machine a profile claims, its graphics chip, screen and thread count. Dark mode is a choice a person makes about that machine, so it stays.

## The general rule

Draw from what browsers send, not from what people say. A survey measures opinion; a fingerprint is made of settings. The values that mattered in this sweep were ones nobody thinks of as identifying, and they were identifying because they were the same everywhere. The day before this post, we wrote up the same fault with a value we had pinned ourselves: [344 profiles reporting notification permission as denied](https://mosaicbrowser.com/blog/notification-permission-denied).

How the colour scheme fits with the rest of a drawn machine is on [real fingerprints](https://mosaicbrowser.com/features/real-fingerprints), and the full list of values a page can read is in [browser fingerprint](https://mosaicbrowser.com/glossary/browser-fingerprint). Locale had a fault of the same family: [a profile in Austria that claimed New York](https://mosaicbrowser.com/blog/austria-claimed-new-york).

## Questions

### What share of browsers report prefers-color-scheme: dark?

Far fewer than surveys of stated preference suggest. Surveys ask what people like; the media query reports what the operating system is set to, and many people never change the default light theme. We draw dark for 30% of profiles, above the traffic figures we found and well below the survey figures.

### Can a site read dark mode without JavaScript?

Yes. A stylesheet can query prefers-color-scheme, and Chrome can send the Sec-CH-Prefers-Color-Scheme request header when a site asks for it. We saw our profiles sending it with the host's value.

### Does Mosaic change dark mode on profiles that already exist?

Each profile's preference is drawn from its own seed the first time it is read, so older profiles got a value without being rewritten, and the same value at every launch after.

### Does repairing a profile's hardware redraw its colour scheme?

No. A repair fixes the machine a profile claims. Dark mode is a setting a person chooses, so it stays as drawn.

## Related

[344 profiles said "denied": one value, everywhere](https://mosaicbrowser.com/blog/notification-permission-denied): Notification permission became a fingerprint: Notification.permission read denied on all 344 of our profiles, where an unconfigured Chrome says default.

[Machines that exist: fingerprints drawn from real hardware](https://mosaicbrowser.com/features/real-fingerprints): Mosaic draws each profile's GPU, screen, CPU, memory and fonts from one real device, so the parts of a fingerprint agree with each other and with the host.

[Browser fingerprint: what a site can read about your machine](https://mosaicbrowser.com/glossary/browser-fingerprint): A browser fingerprint is the set of values a site reads about your browser and computer, which together recognize you without cookies. What goes into one.

[A profile in Austria claimed New York](https://mosaicbrowser.com/blog/austria-claimed-new-york): Browser location does not match IP: a no-proxy profile made in Austria claimed New York. One failed lookup was never retried, and a table filled the gap.









## Mosaic, on your own computer

The browser this blog is about: its own Chromium, fingerprints from real machines and a proxy exit per profile. Free holds 3 profiles. Pro is $49 a month for any number.

Mosaic is a desktop app

Email yourself the link and open it on your computer.
