Chromium is used to produce many products, which run on many platforms. One of the biggest challenges in making changes to Chromium is appropriately considering that wide variety of supported products and platforms and dealing with platform-specific or product-specific test failures.
To keep this cost manageable the Chromium project is very conservative in adding new supported platforms and products, with additions requiring approval by Chrome ATLs ([email protected]). This document is the canonical document describing which products are officially supported on which platforms.
Note: This document applies to Chromium. Some of Chromium's subcomponents like ANGLE or V8 currently support more platforms.
Note: Any feedback/questions on this doc itself can go to the individuals listed as per-file OWNERS of the doc.
In general, engineers adding a new feature are accountable for:
The only officially supported C++ compiler is Chromium‘s hermetic clang. This is upstream clang built at a specific upstream revision that’s periodically updated. (See “Cronet” below for a small asterisk.) See docs/clang.md for more details.
The only officially supported Rust compiler is Chromium‘s hermetic rustc. This is upstream rustc built at a fixed revision, built against the same LLVM that Chromium’s clang is built against (to make cross-language LTO work well). It enables rustc nightly features.
On Linux, GCC is community-supported (per the definition in the definitions of terms).
MSVC is not supported, and base/compiler_specific.h #errors out on it.
The Chromium browser (and its official counterpart Google Chrome) are produced via the //chrome embedder (except for on iOS, where the embedder is //ios/chrome). This section details officially supported Chromium browser platforms.
Note: Googlers can see additional internal information here.
Chrome on Android is supported on x86, x64, ARM, and ARM64. The current minimum OS version supported is listed here.
The is_desktop_android GN arg configures a build of Chrome for Android that is customized for a desktop form factor.
Chrome also runs on Android Automotive, shipping Chrome Beta on Intel-based chips and both Chrome Beta and Chrome Stable on ARM. Chrome's minimum supported OS version for Android Automotive is Android R.
Chrome for ChromeOS supports both x86-64 and ARM architectures. For development and testing, the linux-chromeos build serves as an emulator, providing a functional ChromeOS environment on Linux.
Unlike its counterparts on other platforms, Chrome for ChromeOS is not merely a web browser; it is a monolithic binary responsible for the System UI, Window Management, and core system services. While //ash currently encapsulates the System UIs and Window Manager and //chromeos houses platform-specific components, the //chrome directory still retains significant legacy system-level logic. Active refactoring is underway to migrate these non-browser concerns into //ash and //chromeos to improve modular isolation and reduce technical debt.
Chrome for ChromeOS follows the ChromeOS auto-update policy.
This page details minimum operating system and hardware requirements.
As of March 2026, official support on ARM is upcoming.
Many more platforms/distributions are community-supported (per the definition in the definitions of terms), including Flatpak (alternative packaging format), Arch Linux (via AUR), and downstream Chromium packages. For example, there are packagers distributing Chromium in different configurations (Debian distributes amd64, arm64, armhf, i386) and some use different build configs (gcc instead of clang). We occasionally get patches for different architectures, or for the gcc build, and we typically accept those patches. We do not support downstream forks of Chromium and we typically won't entertain patches for those.
This page details minimum operating system requirements.
Chrome on iOS is supported on ARM64. The minimum supported operating system version changes roughly once a year. As of February 2026, the minimum OS version supported is iOS 17.0.
This page details minimum operating system and hardware requirements.
Besides the embedder for the Chromium browser, there are several other upstream embedders in Chromium, which have their own CQ and CI bots that Chromium engineers are responsible for keeping green. This section details these embedders.
Android WebView is an Android system component for displaying web content. The embedder code for Android WebView lives in //android_webview. Details are here.
Currently (and for all past versions), WebView supports exactly the same architectures and Android OS versions as the same version of Chrome on Android does. It's theoretically possible that this may change in the future, but not that likely.
The embedder code for Chromecast lives in //chromecast. This code is used to build the Cast Web Runtime, also known as the “Cast Browser”, which is used to display web-based Google Cast apps.
The supported platforms are defined in the gn files in //chromecast/build/args/product. Each file corresponds to a single supported platform for the Cast Web Runtime.
Details are here.
Cronet is an Android library that packages Chromium's network stack. The embedder code for Cronet lives in //components/cronet. Details are here.
One particularity of Cronet is that at any given time it may be supported on a broader range of Android versions than Chrome on Android due to aligning with Google Play Services minSDK. For example, as of March 2026, Cronet is supported on Android M+ whereas Chrome on Android is supported on Android Q+. This has the implication that Chromium code that is used as part of Cronet must be able to build and run with the minimum Android version that Cronet supports rather than just the minimum Android version that Chrome on Android supports.
Fuchsia WebEngine is an application running on the Fuchsia operating system for displaying web content and running cast applications (sometimes being referred as a Cast Receiver). The embedder code for Fuchsia WebEngine lives in //fuchsia_web. Details, including information on platform support, are here.
Headless Chromium allows running Chromium in a headless/server environment. The embedder code for Headless lives in //headless. Headless is supported on Linux, Windows, MacOS, ChromeOS and Fuchsia. On Linux, headless supports numerous build settings for trimming down the dependencies and producing a binary capable of running in a minimal runtime environment. Details are here.
iOS WebView is an Objective-C framework that renders web content with [CWVWebView]. It bundles select Chromium features to enhance the web browsing experience beyond what WKWebView provides out of the box. The embedder code for iOS WebView lives in //ios/web_view. Details are here.