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.
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
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.
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.
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
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.