Photo by Ilya Pavlov on Unsplash

Why Every Browser Is Suddenly a Chromium Skin


Open a browser today and there’s a good chance it’s running Chromium under the hood, even if the name on the icon says something else. Edge, Brave, Opera, Arc, and a long list of smaller browsers all build on Google’s open-source Chromium engine rather than writing their own from scratch.

How we got here

Building a modern browser engine — the part that parses HTML, runs JavaScript, and renders a page — is an enormous undertaking. Keeping up with web standards, security patches, and performance work took Microsoft’s own Edge engine (EdgeHTML) out of contention; Microsoft switched Edge to Chromium in 2020 rather than keep maintaining its own. Once the market leader made that call, it became much harder to justify the cost of an independent engine for anyone chasing browser market share.

What’s left outside Chromium

Two independent engines remain in meaningful use: Firefox’s Gecko and Safari’s WebKit. That’s it. Nearly every other browser you’ll encounter is effectively a different interface layered on Chromium, differentiated by features like ad blocking, tab management, or built-in AI tools rather than by the engine itself.

Why the concentration is a real concern

A handful of engines controlling how the entire web renders means a handful of organizations effectively define what “the web” is in practice. Standards decisions, performance benchmarks, and even what web APIs get built tend to follow what the dominant engine supports first. Developers who test only in Chromium-based browsers can ship sites that quietly break in Firefox or Safari — and given Chromium’s market share, there’s less pressure than ever to catch that.

Does it matter to regular users?

Mostly not day-to-day — a Chromium-based browser is still a perfectly capable browser. But the diversity of the underlying engines is part of what has historically kept the web open and interoperable rather than controlled by one company’s priorities. Fewer engines means fewer checks on that.