What the Web Preferences API does and how to enable it

The Web Preferences API is a Chrome feature that lets websites detect your browser settings — things like whether you prefer dark mode, reduced motion, or high contrast. Enabling it means websites can read these preferences and adjust their appearance automatically without you having to change settings on each site separately.

To turn it on, you open Chrome's experimental features page (called chrome://flags) and search for "Web Preferences API". You'll find a toggle set to "Default" — change it to "Enabled", then restart your browser. After that, websites that support the API will start reading your system preferences.

This feature is still experimental, which means Chrome is testing it before deciding whether to make it permanent. It's safe to turn on, but not every website uses it yet, and Chrome may change how it works in future updates.

Key Takeaways

  • The Web Preferences API lets websites automatically detect and match your dark mode, motion, and contrast settings without you having to configure each site.
  • You enable it by typing chrome://flags into your address bar, searching for "Web Preferences API", and switching the toggle to "Enabled".
  • After enabling it, you must restart Chrome for the change to take effect.
  • The feature is experimental, so not all websites support it yet, and Chrome may modify or remove it in future versions.

Step-by-step: Enabling Web Preferences API

Open Chrome and type chrome://flags into the address bar, then press Enter. You'll see a page with a search box at the top and a list of experimental features below it.

In the search box, type "Web Preferences API" (or just "Web Preferences"). Chrome will filter the list and show you the matching feature. You'll see a dropdown menu next to it that currently says "Default". Click that dropdown and select "Enabled".

A notification will appear at the bottom of the screen asking you to relaunch Chrome. Click the "Relaunch" button. Chrome will close and reopen automatically, and the API will be active.

What websites can detect with this API

When you enable the Web Preferences API, websites can read four main settings from your system: your color scheme preference (light or dark mode), whether you've turned on reduced motion (which slows down animations), your contrast preference (normal or high contrast), and whether you've enabled forced colors mode (used mainly by people with certain vision conditions).

Websites use this information to automatically adjust their design. A news site might switch to dark mode if you prefer it. A video platform might disable auto-playing animations if you've turned on reduced motion. A shopping site might increase text contrast if you've requested it. The goal is to make websites work better for your needs without requiring you to configure each one.

Websites cannot see your passwords, browsing history, or any personal information — only these four accessibility and appearance preferences.

Turning it off if you change your mind

If you want to disable the Web Preferences API later, go back to chrome://flags, search for "Web Preferences API", and change the dropdown from "Enabled" back to "Default". Restart Chrome again, and the feature will be off.

Turning it off doesn't delete anything or cause problems — websites will simply stop reading your preferences and will display their default appearance instead. You can turn it back on anytime using the same steps.

Why this feature is still experimental

Chrome marks features as experimental when they're not yet part of the official browser. This means Chrome is testing whether the feature works well, whether websites actually use it, and whether there are any security or privacy concerns. Experimental features can change, improve, or disappear entirely in future Chrome updates.

The Web Preferences API has been in testing for several years. Some websites have started supporting it, but adoption is still growing. Turning it on now won't break anything — Chrome has tested it thoroughly — but you may not see any visible change on most websites you visit, since many haven't implemented support for it yet.

How to check if a website supports the API

There's no built-in way to see which websites support the Web Preferences API. The best approach is to enable it and then visit websites you use regularly. If a site supports it, you'll notice that it automatically matches your dark mode or motion settings without you having to change anything.

If you enable the API and a website still doesn't respect your preferences, that website probably hasn't added support for it yet. You can still change your settings within that website manually, just as you would have before enabling the API.

Frequently Asked Questions

Will enabling this slow down my browser?

No. The Web Preferences API is a lightweight feature that has no noticeable impact on Chrome's speed or performance. It simply lets websites read settings your system already has.

Is this the same as dark mode in Chrome settings?

No. Chrome's dark mode is a browser-level setting that affects Chrome's own interface. The Web Preferences API lets websites detect your system-wide preferences (like dark mode in Windows or macOS) and adjust their own design to match. You can have both enabled at the same time.

Can websites use this API to track me?

The API only reads your accessibility and appearance preferences, not your identity or behavior. However, in theory, a website could use your combination of preferences as a tiny piece of a fingerprinting technique. This is a known limitation of the feature, and it's one reason Chrome is still testing it.

What if I don't see the Web Preferences API option in chrome://flags?

The feature may not be available in your version of Chrome if you're using an older build. Make sure Chrome is fully updated by clicking the menu button (three dots), going to "Help", and selecting "About Google Chrome". Chrome will check for updates automatically.

Do I need to enable this on every device?

Yes. The Web Preferences API setting is stored locally on each device. If you use Chrome on a phone, tablet, and computer, you'll need to enable it separately on each one if you want it active everywhere.