Browser Development
What Is Chromium? A Practical Guide for Browser Development Teams
Published: 2026-04-07 • 10 min read

If your team is planning a browser product, you will hear the word Chromium quickly. Some people treat it like a browser, some treat it like an engine, and others assume it is just Chrome without a logo. The truth is more nuanced, and understanding that nuance helps you make better product and engineering decisions.
What Chromium actually is
Chromium is an open source browser project. Google leads it, and it accepts contributions from other companies and individuals. The codebase covers rendering, networking, JavaScript execution, browser UI, security sandboxing and a multi-process architecture.
Three names come up most often when people describe its internals:
- Blink is the rendering engine. It parses HTML and CSS, lays out pages and paints them. It began as a fork of the WebKit engine.
- V8 is the JavaScript and WebAssembly engine. It also runs outside browsers, for example in Node.js.
- Content is the module that provides the core multi-process browsing model: browser, renderer and other processes, plus the APIs an embedder uses to host web content.
In simple terms, Chromium is the public engineering base. Vendors build products on top of it, add integrations, apply branding and ship their own browser distributions.
Is Chromium open source?
Yes. Chromium is developed in public repositories with open issue tracking and code review, and its own code is released under a BSD-style license. It also bundles third-party libraries that carry their own licenses, so a legal review of what you ship is part of any serious product plan.
Open source does not mean easy. Chromium is one of the largest software projects in the world, and a practical strategy, tooling discipline and a long-term maintenance plan are essential.

Chromium vs Chrome
Chrome is a Google product built using Chromium. Chromium provides the base platform; Chrome layers in Google-specific services, branding and release decisions. The table lists differences that are commonly documented. Details vary by version and platform, so verify anything your product depends on.
| Area | Chromium | Google Chrome |
|---|---|---|
| Governance | Open source project led by Google | Google product built from Chromium |
| License | BSD-style, plus third-party component licenses | Free to download, with additional proprietary components under Google’s terms |
| Branding | Neutral name and logo | Google branding and logo |
| Google services | Commonly not included by default; some need API keys or agreements | Commonly includes Google account sync and other Google integrations |
| Media codecs | Some proprietary codecs are commonly not enabled in default builds | Commonly ships with additional proprietary codecs and DRM support |
| Updates | You build, package and distribute updates yourself | Updated through Google’s own update mechanism |
The practical takeaway: when you build on Chromium you own everything Chrome would normally add for you, including update delivery, crash reporting and any licensing for codecs or DRM your product needs.
How a Chromium-based browser is layered
A custom browser is not a single codebase you rewrite. It is a stack in which most layers stay close to upstream and your product sits on top. Keeping that boundary clear is what makes later upgrades tractable.
Product features and browser UI
- C++
- WebUI
Your toolbar, settings pages, onboarding, policies, branding and any custom features. The Chrome UI layer is the usual starting point to build on or replace.
Content module and embedder APIs
The multi-process browsing model: browser process, renderer processes and the APIs an embedder uses to host web content.
Blink and V8
Blink renders web pages. V8 executes JavaScript and WebAssembly. Both are typically kept as close to upstream as possible.
Networking and storage
The network stack, TLS, caching, cookies and profile storage. A common place for privacy or proxy-related changes.
Sandbox and process isolation
OS-level sandboxing that restricts what renderer processes can do. Changes here are security sensitive.
Operating system and build pipeline
- Windows
- macOS
- Linux
Windows, macOS, Linux and other targets, plus signing, packaging and update delivery.
- Your product
- Upstream, kept as close to unmodified as possible
- Platforms and release
Well-known Chromium-based browsers
Many browsers you may already use share this foundation. Google Chrome itself is built on Chromium. Others include:
- Microsoft Edge: Microsoft’s desktop browser, rebuilt on Chromium in place of its earlier engine, with Microsoft services and enterprise management features added.
- Brave: a browser that builds privacy features such as content blocking directly into the browser on top of Chromium.
- Opera: a long-running browser that moved to Chromium and adds its own interface features such as a built-in sidebar.
- Vivaldi: a browser focused on interface customization, built on Chromium with its own UI layer.
These products differ in what they change. Some replace large parts of the browser UI and services while keeping the engine largely intact. That pattern, a heavily customized shell on a mostly upstream core, is the one most custom browser projects follow.

Why teams choose Chromium for custom browser development
- Web compatibility: broad support for modern web apps and frontend stacks, which reduces the risk that sites break in your product.
- Production-proven architecture: a widely deployed rendering and JavaScript execution baseline.
- Extensibility: room for source-level changes, policy controls and specialized UX flows.
- Ecosystem familiarity: more engineers know Chromium tooling than niche browser stacks, which can help with hiring and onboarding.
Custom browser, embedded browser, Electron app or extension?
“Building on Chromium” covers several very different scopes. The right one depends on how much of the browser experience you need to control. Our page on Chromium browser development covers the full-fork case, and embedded browser development covers hosting web content inside your own application.
| Approach | What you control | Typical fit | Main maintenance cost |
|---|---|---|---|
| Custom Chromium browser (fork) | Browser UI, network behavior, privacy features, policies and branding | A standalone browser product with its own identity | Rebasing patches and shipping security updates on each upstream release |
| Embedded browser (CEF or similar) | Web content inside your native application, with a limited browser UI | Desktop apps that need a full web engine inside a native shell | Updating the embedded framework and testing your integration |
| Electron app | A desktop app built with web technologies, bundling Chromium and Node.js | Cross-platform desktop apps built by web teams | Keeping the Electron version current for security fixes |
| Browser extension | Features added inside an existing browser through extension APIs | Functionality that can live within the limits of the extension platform | Following extension API and policy changes in each browser |
Ask three questions to narrow it down. Do users need a browser with its own identity, or a feature inside an app they already use? Do you need behavior that extension APIs do not allow, such as network stack changes or browser UI internals? Can you commit engineering time to upstream updates for the product’s whole lifetime?
What keeping a Chromium fork healthy involves
Forking is the easy part. The ongoing work is keeping your changes compatible with an upstream project that moves quickly and publishes security fixes on a regular basis.
Manage your changes as a patch series
Keep your modifications small, isolated and documented, ideally as an ordered patch series or a clearly separated set of files. The fewer upstream files you touch, the fewer conflicts you face later. Prefer adding new code behind narrow hooks over rewriting existing logic.
Rebase on upstream releases
Chromium publishes new major versions on a frequent, published schedule. Each rebase can bring API changes, renamed files and refactors that break patches. Teams commonly script as much of this as possible and run regression tests on every rebase. This is the work described on our version porting page.
Ship security fixes quickly
Browsers are a frequent target, and upstream releases regularly include security fixes. A fork that falls far behind carries known issues to users. Decide up front who watches upstream advisories, how fast you can build and release a patched version, and how updates reach installed browsers.
Own the build system
Chromium uses its own toolchain, including GN and Ninja, and full builds are large. Expect to invest in reproducible builds, caching, continuous integration and code signing for each target platform.
A workable maintenance plan usually includes:
- A written policy for how much of upstream you are allowed to modify.
- Automated builds and smoke tests on every supported operating system.
- A named owner for upstream security advisories and release tracking.
- A tested update channel, so fixes can reach users without manual downloads.
- A QA matrix covering versions, policies and enterprise environments.
Common misconceptions
“We can fork once and we are done.” Not really. Browser products need ongoing upstream version porting for security fixes, standards changes and compatibility.
“We only need front-end developers.” Advanced browser work often needs C++, build system knowledge, platform APIs and release engineering.
“Extension-level changes are enough.” Extensions are powerful, but some requirements (network stack behavior, browser UI internals, policy enforcement) need source-level work.
What to plan before starting a Chromium-based product
- Target operating systems and release channels (Windows, macOS, Linux).
- Security posture and patch and update responsibilities.
- Scope of browser modifications versus extension-level customization.
- Upgrade strategy for future Chromium milestones.
- Licensing for codecs, DRM and any Google services you plan to use.
- QA matrix across versions, policies and enterprise environments.
If you want to see how these decisions play out in real projects, browse our browser projects, including the GTX browser development and Kahf browser development case studies. For help scoping your own project before committing to a build, see our browser engineering consulting service.
Frequently asked questions
Is Chromium the same as Google Chrome?
No. Chromium is the open source project that Chrome is built on. Chrome adds Google-specific services, branding and packaging on top of it. Differences commonly cited include Google account sync, automatic updates, some proprietary media codecs and Google's branding, but the exact list changes over time, so check the current documentation.
Is Chromium free to use commercially?
Chromium is released under a BSD-style open source license, which generally permits commercial use and modification. It also bundles third-party components with their own licenses, and some features depend on separate agreements or API keys, so a license review is part of any product plan.
Do we need to fork Chromium to build a custom browser?
Not always. If you need custom UI, network behavior, policy enforcement or deep privacy changes, a source-level fork is usually required. If you need to add features inside an existing browser, an extension may be enough. If you need a web view inside your own application, an embedded browser or an Electron-style shell may fit better.
How often does a Chromium fork need to be updated?
Chromium ships new major versions on a regular, frequent schedule and publishes security fixes between them. A fork that stays in production generally needs to follow that cadence, either by rebasing on each major release or by backporting security fixes. The upstream release schedule is published, so plan against it rather than against a fixed calendar.
What skills does a Chromium browser project need?
Most work is in C++, with build tooling (GN and Ninja), platform APIs for each target operating system, release engineering and security response. Front-end skills matter for WebUI pages and extensions, but they rarely cover the whole scope of a fork.
Can a Chromium-based browser support Chrome extensions?
Chromium includes the extension system, so browsers built on it can generally run extensions written for Chromium-based browsers. Store access, extension policy and support for specific manifest versions are product decisions that each browser vendor makes, so confirm them early in planning.
Final takeaway
Chromium is open source, powerful and production-proven. It is also complex. Teams that succeed treat browser development as a long-term engineering program, not a one-off sprint. If you make architecture and maintenance decisions early, Chromium gives you a strong foundation for differentiated browser products.
Planning a Chromium-based product?
If you are deciding between extension-only scope, embedded browser architecture or a full Chromium fork, we can help you map the right approach.
