Chromium's Evolution: From WebKit to the Blink Engine

This article explores the history of the Chromium web browser's rendering engine, focusing on its origins with WebKit and its eventual transition to a forked engine in 2013. It covers why Google originally chose WebKit to power Chromium, the technical conflicts that arose over time, and how the creation of the Blink engine streamlined the browser's development and performance.

When Google first introduced the open-source Chromium project in 2008—the foundational codebase for Google Chrome—it originally used the WebKit rendering engine.

WebKit was an open-source engine spearheaded by Apple (originally forked from the KHTML engine) and was already being used to power the Safari web browser. Google chose WebKit because it was lightweight, fast, open-source, and already compatible with modern web standards. Using an existing engine allowed Google to bring Chrome and Chromium to market much faster than if they had built a new engine from scratch.

In April 2013, Google announced that it was leaving WebKit to create its own rendering engine called Blink. Blink was not built from the ground up; instead, it was a direct fork of the WebCore component of WebKit.

The decision to fork WebKit in 2013 came down to three main factors:

  • Architectural Differences: Chromium utilized a unique multi-process architecture to keep tabs isolated for better security and stability. Other WebKit browsers, like Safari, used a different model. Supporting Chromium's specific architecture inside the shared WebKit codebase became increasingly difficult.
  • Development Speed: Because multiple major tech companies were contributing to WebKit with different goals, reviewing and approving code changes became a slow process. Google wanted the freedom to experiment and rewrite core parts of the engine without breaking compatibility for other WebKit users.
  • Code Bloat: WebKit contained vast amounts of code meant for other platforms that Chromium did not use. Immediately after forking WebKit into Blink, Chromium engineers were able to delete over 7,000 files and more than 4.5 million lines of unnecessary WebKit code.

Moving from WebKit to Blink allowed the Chromium project to drastically simplify its codebase, reduce bugs, and implement new web features at a much faster pace. Today, the Blink engine continues to power Chromium, Google Chrome, and several other major browsers including Microsoft Edge, Brave, and Opera.