Chromium Is Not a Kernel: Untangling Chrome's Open-Source Base
theme: awesome-green
When I first started learning front-end development, I often heard statements like:
Chrome uses the Chromium kernel.
Edge also uses the Chromium kernel.
Taken individually, these statements don't seem problematic. But put together, they easily cause confusion.
Is Chromium actually a kernel?
What is the relationship between Chromium and Chrome?
This article is dedicated to clarifying these concepts.
1. First, remember one sentence
If you only want to remember one conclusion, remember this:
Chromium is an open-source browser project, and Chrome is a browser product Google built based on Chromium.
Even simpler:
Chromium = the base
Chrome = Chromium + Google's own features
Similar to:
Android AOSP
↓
Xiaomi HyperOS
Samsung One UI
Chromium is much the same. Many browsers today are built on top of Chromium. For example:
Chromium
│
┌──────────┼──────────┐
↓ ↓ ↓
Chrome Edge Brave
Google Microsoft
So, Chrome and Chromium are not the same thing.
2. Who developed Chromium?
Chromium was originally an open-source browser project initiated by Google in 2008.
At that time, Google launched the Chrome browser and simultaneously open-sourced a large portion of its core code; this open-source project is Chromium. So their relationship was very close from the start. It can be simply understood as:
Google
│
├── Chromium
│ Open-source browser project
│
└── Chrome
Google's browser product
However, today's Chromium is no longer developed solely by Google engineers. Companies like Microsoft, Intel, Samsung, Opera, and many individual developers have also contributed code to Chromium. Especially after Microsoft Edge switched to using Chromium, Microsoft became one of the important contributors to Chromium.
But overall, Google remains the most important driving force behind Chromium.
So if someone asks:
Is Chromium owned by Google?
A more accurate answer is:
Chromium is an open-source project initiated and long-dominated by Google, but it is not a private project belonging only to Google.
3. Why is the term "Chromium kernel" not very accurate?
A common saying in China is:
This browser uses the Chromium kernel.
In daily communication, saying this is mostly fine. But technically, it's not very rigorous. The reason is simple:
Chromium is too large.
It is not just a single module responsible for "displaying web pages." Chromium includes many things. It can be roughly drawn like this:
Chromium
│
├── Browser window
├── Tabs
├── Multi-process architecture
├── Network module
├── GPU
├── Storage
├── Cookie
├── IndexedDB
├── Service Worker
├── DevTools
├── Extension system
├── Security sandbox
├── Blink
├── V8
└── A large number of base modules
Seeing this, you should understand: Chromium itself is already a complete browser project.
So directly calling Chromium a "browser kernel" is a bit like calling "a whole car" an "engine."
People roughly know what you mean. But strictly speaking, they are not the same thing.
4. So what is the real "browser kernel"?
This is where two very important names come in:
Blink
V8
Front-end developers would do well to remember them.
5. What is Blink?
Blink is the web rendering engine used by Chrome and Chromium.
What does it mainly handle? Simply put:
It is primarily responsible for HTML and CSS.
For example, when a browser gets the following code:
<div class="box">
Hello World
</div>
And the CSS is:
.box {
width: 200px;
height: 100px;
}
The browser ultimately needs to know many things. For example:
This is a div
It is 200px wide
100px high
Where it should appear on the page
How the text should be drawn
How elements should be laid out relative to each other
A large part of these tasks is handled by Blink. The process can be roughly understood as:
HTML
↓
DOM
CSS
↓
CSSOM
DOM + CSSOM
↓
Layout
↓
Paint
↓
Composite
↓
Finally displayed on the screen
So if someone asks:
What is Chrome's rendering engine?
The answer is:
Blink.
6. What is V8?
V8 is the JavaScript engine.
It is mainly responsible for:
Executing JavaScript.
For example:
const a = 1
const b = 2
console.log(a + b)
This code is not executed by Blink.
It is mainly handled by V8.
So you can first establish a simple model:
HTML / CSS
↓
Blink
JavaScript
↓
V8
Of course, the inside of a real browser is much more complex than this. There is also a lot of interaction between Blink and V8. But for beginners, this understanding is perfectly sufficient.
7. So what is the relationship between Chromium, Blink, and V8?
Now we can draw the relationship.
Chromium
│
┌─────────┴─────────┐
│ │
Blink V8
│ │
HTML / CSS / DOM JavaScript
Note the hierarchical relationship here. It is not:
Chromium = Blink
Nor is it:
Chromium = V8
Rather:
Chromium uses Blink and V8 inside it
Chromium is much larger than either of these two things.
8. Where does Chrome fit in this layer?
Add one more layer on top.
Chrome
│
Google products and services
│
Chromium
│
┌────────┴────────┐
│ │
Blink V8
This is closer to the real relationship: Chrome is based on Chromium. But Chrome is not equal to Chromium.
Google adds many of its own product capabilities on top of Chromium.
For example:
Google Account
Chrome Sync
Google Password Manager
Automatic updates
Safe Browsing
Enterprise management features
Some Google services
Google's own product features
So, if you download the Chromium source code and compile a browser yourself, it will not be exactly the same as the Chrome you download and install from the Chrome official website.
9. Why does Edge also look so similar to Chrome?
Because the new version of Edge is also developed based on Chromium. It can be roughly understood as:
Chromium
│
┌────────────┴────────────┐
│ │
Chrome Edge
│ │
Google Microsoft
│ │
Google services Microsoft services
Many things at the bottom layer are the same. For example:
Blink
V8
Network module
Multi-process architecture
Many Web APIs
A large amount of DevTools base capabilities
So during front-end development, you often find:
If a webpage works normally on Chrome, it usually won't have major issues on Edge either.
Because they share a large amount of Chromium code at the bottom layer. Of course, this doesn't mean Chrome and Edge are completely identical. Microsoft still adds its own:
Account system
UI
Copilot
Favorites capabilities
Enterprise management
Privacy policy
Browser features
So a more accurate statement is:
Chrome and Edge use the same Chromium base, but the upper-layer products are different.
10. What about Safari and Firefox?
Safari and Firefox are not part of this Chromium set.
Current mainstream browsers can roughly be viewed like this:
| Browser | Browser Base | Rendering Engine | JavaScript Engine |
|---|---|---|---|
| Chrome | Chromium | Blink | V8 |
| Edge | Chromium | Blink | V8 |
| Brave | Chromium | Blink | V8 |
| Opera | Chromium | Blink | V8 |
| Safari | WebKit | WebKit | JavaScriptCore |
| Firefox | Gecko | Gecko | SpiderMonkey |
So mainstream browsers today can be broadly seen as a few camps.
Browsers
│
├── Chromium / Blink
│ ├── Chrome
│ ├── Edge
│ ├── Brave
│ └── Opera
│
├── WebKit
│ └── Safari
│
└── Gecko
└── Firefox
This is also why, when front-end developers do browser compatibility testing, they usually cannot just test on Chrome. It's best to at least pay attention to:
Chrome / Edge
Safari
Firefox
Because they do not all use the exact same browser implementation.
11. Why does Chrome still have a bunch of webkit?
Front-end developers have surely seen code like this:
-webkit-transform: translateX(10px);
Or:
::-webkit-scrollbar {
}
Seeing this, many people wonder: Doesn't Chrome use Blink? Why does the name still contain webkit?
This is a historical legacy issue; Blink and WebKit are inherently related by lineage. The history can be very roughly drawn as:
KHTML
↓
WebKit
↓
Blink
Chrome used WebKit in its early days. Later, in 2013, Google forked Blink from WebKit. Since then:
Safari
↓
WebKit
Chrome
↓
Blink
But a lot of historical compatibility code did not disappear immediately. So today's Chrome still contains a large number of names with webkit.
This is not because Chrome still directly uses WebKit today. It's more of a historical compatibility issue.
12. Chrome is actually not "one program"
Let's go one step deeper into the bottom layer here. Many people subconsciously assume:
Chrome.exe
↓
Runs web pages
In reality, modern Chrome is a typical multi-process browser. If you open Chrome's task manager, you will see many processes. It looks roughly like this:
Browser Process
│
├── Renderer Process
├── Renderer Process
├── GPU Process
├── Network Service
├── Extension Process
└── Utility Process
That is to say, Chrome does not cram everything into a single process. For example, web page rendering usually runs inside a Renderer Process. The network has its own service, the GPU has its own process, and extensions may also run in independent processes.
This design has many benefits. The most intuitive one is:
If one web page crashes, it doesn't necessarily bring down the entire browser with it.
For example:
Renderer A 💥
Renderer B Normal
Renderer C Normal
Browser Normal
Modern browsers can achieve relatively good stability and security, and the multi-process architecture is a very important reason for this.
13. Looking back at Chrome DevTools
The Chrome DevTools we usually open by pressing F12 are essentially a window for observing various capabilities of Chromium.
For example:
Elements
Behind this involves DOM, CSS, and Blink.
Console
A large amount of capability is related to JavaScript and V8.
Network
Corresponds to Chromium's network module.
Performance
Will involve:
Blink
V8
Renderer
GPU
Page layout
Painting
Application
Inside, you will see:
Cookie
LocalStorage
IndexedDB
Cache Storage
Service Worker
So front-end developers interact with Chromium every day; they just usually don't specifically think about what these things are called.
14. A final summary
If the previous content felt like a lot, you only need to remember the following four sentences at the end.
First, Chromium
Chromium is:
An open-source browser project initiated and long-dominated by Google.
It is not a simple "rendering kernel," but contains a large amount of infrastructure needed to build a modern browser.
Second, Chrome
Chrome is:
A browser product built by Google based on Chromium.
It can be simply understood as:
Chrome
=
Chromium
+
Google's product capabilities
Third, Blink
Blink is:
The web rendering engine used by Chromium.
Mainly responsible for:
HTML
CSS
DOM
Layout
Painting
Fourth, V8
V8 is:
The JavaScript engine used by Chromium.
Mainly responsible for executing:
JavaScript
WebAssembly
Finally, the relationship can be drawn like this:
Chrome
│
Google product layer
│
Chromium
│
┌────────────────┼────────────────┐
│ │ │
Blink V8 Other modules
│ │ │
HTML / CSS / DOM JavaScript Network
GPU
Storage
Sandbox
DevTools
Multi-process architecture
...
Next time you hear terms like "Chrome kernel" or "Chromium kernel," you can first ask yourself:
Is the other party talking about Chromium, Blink, or V8?
Once you separate these concepts, many browser-related questions will suddenly become much clearer.