How to set browser flags in Chromium
For some of the new APIs we introduce in Chromium, you need to set a browser flag for experimentation. This article explains how to do this in the various Chromium derivatives like Google Chrome, Microsoft Edge, and others.
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web. A lot of web browsers are built on Chromium, including the popular browsers Google Chrome by Google, Microsoft Edge by Microsoft, Opera Web Browser by Opera, and many others.
chrome://
scheme
The Google Chrome has since the beginning supported a special scheme called chrome://
for accessing browser-internal settings or features. You can see the full list by putting chrome://chrome-urls
into the URL bar. The special URL of interest here is chrome://flags
.
Setting browser flags
For some new APIs in Chromium, you need to set a browser flag for experimentation. You guessed it, chrome://flags
is where this happens. The most popular flag we ask you to set is chrome://flags/#enable-experimental-web-platform-features
, which, as the name suggests, enables experimental web platform features.
As the name suggests, experimental web platform features are experimental. We do not recommend you set flags on your daily production browser. Instead, we prefer you to use a development browser version like the Beta, Dev, or Canary channel for your development needs where you can set flags as required, and the Stable channel for everything else. Also be sure to only set flags based on instructions from sources you trust.
Browser flags are distinct from origin trials.
Origin trials are set by website owners and opt a user's browser into supporting a given feature. Only features deemed safe for testing with real users are available for origin trials.
Browser flags are set by you and opt in your local browser to a given feature. Not all features that are available behind a flag are ripe for production—sometimes quite the opposite.
Scheme rewrites
Something interesting happens, though, if you enter a chrome://
URL into a browser that is not Chrome. For example, if you enter chrome://flags/#enable-experimental-web-platform-features
into Microsoft Edge, you will notice that it gets rewritten as edge://flags/#enable-experimental-web-platform-features
. All vendors have created this rewrite mechanism, which makes sense, as Edge is not Chrome, although it is based on Chromium.
Inclusive documentation
We strive for making our documentation inclusive of different browsers, so, for example, telling a Brave user to navigate to chrome://flags
to toggle a given flag—while it works thanks to the rewrite mechanism—may not be the most welcoming experience. At the same time, listing all possible vendor schemes like edge://
, chrome://
, brave://
, etc. is not a great solution either.
One scheme to rule them all
Luckily there is a hidden champion scheme that fits all our needs: about://
. In Chrome, about://
URLs get rewritten to chrome://
, in Edge to edge://
, and so on for all vendors. We are in this web thing together, and this is about://
all of us! Whenever you see instructions that include the about://
scheme, your Chromium browser of choice will do the right thing.
A notable exception to the rewriting mechanism is about:blank
(without the //
), which displays a blank, empty document.
Acknowledgements
Hero image by Photos by Lanty on Unsplash.