Why Chromium on iOS Uses WKWebView Instead of Blink
This article explains why the Chromium web browser on iOS relies on Apple's WKWebView rendering engine rather than its own native Blink engine. The primary reason comes down to Apple's strict App Store policies, which mandate that all third-party browsers on iOS use the WebKit framework. Below, we cover the specific guidelines enforcing this rule, Apple's justification for the restriction, how Chromium adapts its architecture for iOS, and how recent regulatory changes are beginning to alter this landscape.
Apple's App Store Restrictions
The sole reason Chromium does not use the Blink engine on iPhones and iPads is that Apple forbids it. According to Clause 2.5.6 of Apple’s App Store Review Guidelines, all apps that browse the web must use the appropriate WebKit framework and WebKit JavaScript.
For iOS developers, the required API to implement WebKit is called WKWebView. If Google, Microsoft, Brave, or any other developer using the open-source Chromium project wants their browser available on the iOS App Store, they are forced to strip out the Blink rendering engine and the V8 JavaScript engine, replacing them with Apple's WKWebView.
Security and Performance Justifications
Apple enforces this rule primarily in the name of security, privacy, and battery optimization. Web browsers are a primary target for malicious attacks because they execute untrusted code from the internet.
By forcing all browsers to use WKWebView, Apple maintains centralized control over the rendering engine. If a critical security vulnerability is discovered in WebKit, Apple can deploy a single iOS update to patch Safari and every third-party browser on the device simultaneously. If browsers were allowed to use Blink or Mozilla's Gecko, users would have to rely on individual app developers to push security updates in a timely manner.
Additionally, WKWebView is heavily optimized for Apple Silicon. Apple restricts third-party apps from using certain system resources, such as custom Just-In-Time (JIT) JavaScript compilation, for security reasons. WKWebView runs in its own separate process outside of the main app, allowing it to safely utilize Apple's Nitro JavaScript engine while maximizing battery life and memory management.
How Chromium Works on iOS
Because of these constraints, the iOS version of Chromium is fundamentally different from the versions found on Android, Windows, macOS, and Linux.
On iOS, Chromium acts essentially as a custom interface wrapped around Apple's rendering technology. Chromium developers maintain a specialized codebase for iOS that integrates WKWebView for rendering web pages while retaining the surrounding Chromium architecture. This allows browsers like Google Chrome or Microsoft Edge to still offer their distinct user interfaces, bookmark syncing, password managers, and translation tools, even though the actual webpage is being drawn and executed by Apple's engine.
The European Union Exception
This long-standing restriction recently saw its first major challenge. In early 2024, to comply with the European Union’s Digital Markets Act (DMA), Apple released iOS 17.4, which finally allows alternative browser engines on iPhones within the EU.
Following this change, the Chromium team began developing an experimental version of Chromium for iOS that actually uses the Blink engine. However, because Apple only permits non-WebKit engines within the EU, browser developers would have to maintain two completely separate versions of their iOS apps: one using Blink for Europe, and one using WKWebView for the rest of the world. Due to the complexity and cost of maintaining dual apps, WKWebView remains the standard for Chromium on iOS globally.