Comparison of browser engines
This article compares browser engines, especially actively-developed ones.[a]
Some of these engines have shared origins. For example, the WebKit engine was created by forking the KHTML engine in 2001.[1] Then, in 2013, a modified version of WebKit was officially forked as the Blink engine.[2]
General information
Engine | Status[a] | Steward | License | Embedded in |
---|---|---|---|---|
WebKit | Active | Apple | GNU LGPL, BSD-style | Safari browser, plus all browsers for iOS;[3] GNOME Web, Konqueror, Orion |
Blink | Active | GNU LGPL, BSD-style | Google Chrome and all other Chromium-based browsers, including Microsoft Edge, Brave, Vivaldi, Samsung Internet, and Opera[4] | |
Gecko | Active | Mozilla | Mozilla Public | Firefox browser and Thunderbird email client |
Goanna[b] | Active | M. C. Straver[6] | Mozilla Public | Pale Moon, Basilisk, and K-Meleon browsers |
Trident[c] | Maintained | Microsoft | Proprietary | Internet Explorer browser |
EdgeHTML | Maintained | Microsoft | Proprietary | some UWP apps;[8] formerly in the Edge browser[9] |
Presto[d] | Maintained | Opera | Proprietary | server-side for low-end phones;[d] formerly in the Opera browser |
Flow[13] | Maintained | Ekioh[14] | Proprietary | Flow browser[15] |
Servo[e] | Maintained | Linux Foundation | Mozilla Public | experimental browsers[17][18] |
NetSurf[f] | Maintained | hobbyists[21] | GNU GPLv2 | NetSurf browser[22] |
LibWeb[g] | Maintained | hobbyists[24] | 2-clause BSD | Ladybird browser[23] |
KHTML[25] | Discontinued | KDE | GNU LGPL | formerly in the Konqueror browser[26] |
Support
These tables summarize what actively-developed[a] engines support.[h]
Operating systems
The operating systems that engines can run on without emulation.
Engine | Windows | macOS | iOS[3] | Android | Linux | BSD | Haiku |
---|---|---|---|---|---|---|---|
WebKit | Yes[i] | Yes | Yes | Yes | Yes | Yes | Yes |
Blink | Yes | Yes | No | Yes | Yes | Yes | Yes[ii] |
Gecko | Yes | Yes | No | Yes | Yes | Yes | No |
Goanna | Yes | Yes[27] | No | No[28] | Yes | Yes | No |
Notes
- ^ Must be built from source code.
- ^ Only available through QtWebEngine.
Image formats
Engine | JPEG | GIF | PNG | SVG | WebP | AVIF |
---|---|---|---|---|---|---|
WebKit | Yes | Yes | Yes | Yes | Yes | Yes |
Blink[h] | Yes | Yes | Yes | Yes | Yes | Yes |
Gecko | Yes | Yes | Yes | Yes | Yes | Yes |
Goanna | Yes | Yes | Yes | Yes | Yes | No |
Media formats
Engine | VP9 | AV1 | HEVC | H264+AAC | Opus | FLAC |
---|---|---|---|---|---|---|
WebKit | Yes | Yes | Yes | Yes | Depends | Yes |
Blink | Yes | Yes | Yes | Yes | Yes | Yes |
Gecko | Yes | Yes | No | Yes | Yes | Yes |
Goanna | Yes | Yes | No | Yes | Yes | Yes |
Typography
Engine | TTF | OTF | WOFF | WOFF2 | @font-face | Ligatures |
---|---|---|---|---|---|---|
WebKit | Yes | Yes | Yes | Yes | Yes | Yes |
Blink | Yes | Yes | Yes | Yes | Yes | Yes |
Gecko | Yes | Yes | Yes | Yes | Yes | Yes |
Goanna | Yes | Yes | Yes | Yes | Yes | Yes |
Other items
Engine | Web Components | WebGL | WebGPU[31] | XHTML |
---|---|---|---|---|
WebKit | Yes | Yes | Not yet | Yes |
Blink | Yes | Yes | Yes[32] | Yes |
Gecko | Yes | Yes | Not yet | Yes |
Goanna | Yes[33] | Yes | No | Yes |
See also
Notes
- ^ a b c Active status means that new Web standards continue to be added to the engine, which properly renders the vast majority of websites, including multimedia. However, Maintained status can be as minimal as ensuring the engine code still compiles. Discontinued is when the engine code is abandoned.
- ^ Goanna is a fork of an old version of Gecko. It has less web compatibility, but still renders the vast majority of websites.[5]
- ^ Internet Explorer continues to receive security updates,[7] which means Trident (a.k.a. MSHTML) is still maintained.
- ^ a b In 2013, Opera replaced the Presto engine with Blink for its flagship desktop and mobile browser. But it still has a special niche usage of Presto as a server-side renderer for the Opera Mini browser, which provides a limited browsing capability on low-end phones.[10][11] Presto was last updated in 2015,[12] but is considered Maintained here because of its usage.
- ^ Servo has the goal of being a viable alternative to the major engines. However, there is still a lot of work to be done,[16] so it is Maintained status here.
- ^ NetSurf does not fully support HTML5 or other recent Web standards,[19][20] which means it cannot work properly on YouTube, Gmail, and many other popular websites. Thus it does not merit Active status per this article's criteria.
- ^ As of September 2022, LibWeb will require "years of development" before it is a full-featured engine suitable for real browsing.[23] Thus it does not merit Active status per this article's criteria.
- ^ a b Given the market-share dominance of Blink-based browsers,[4] if Google chooses to not support a standard, like JPEG XL,[29][30] it will not become relevant on the Web.[29][30] Such standards are not listed in these tables.
References
- ^ Paul Festa (14 January 2003). "Apple snub stings Mozilla". CNET Networks. Archived from the original on 25 October 2012. Retrieved 16 February 2017.
- ^ Bright, Peter (3 April 2013). "Google going its own way, forking WebKit rendering engine". Ars Technica. Conde Nast. Retrieved 9 March 2017.
- ^ a b "Open-sourcing Chrome on iOS!". 2017. Retrieved 26 April 2021.
Due to constraints of the iOS platform, all browsers must be built on top of the WebKit rendering engine.
- ^ M.C. Straver (a.k.a. Moonchild) (July 2022). "Re: YouTube SLOW!". forum.palemoon.org.
For the record, even I am not exclusively using Pale Moon either, because the web simply is too Google-centric at the moment. I do use it for the vast majority of sites but there are a few like Youtube and some sites which are simply not interested in being browser agnostic where I use Edge, instead.
- ^ M. C. Straver. "About Moonchild Productions". Archived from the original on 13 March 2017. Retrieved 19 April 2018.
- ^ "Lifecycle FAQ – Internet Explorer and Microsoft Edge – Microsoft Lifecycle". docs.microsoft.com. Retrieved 30 August 2020.
- ^ Mendelevich, Alan (14 May 2021). "You Think You Can Forget About the "Legacy" Microsoft Edge? Not So Fast!".
- ^ Mackie, Kurt (10 December 2018). "Microsoft Edge Browser To Get New Rendering Engine but EdgeHTML Continues". Redmond Mag. Retrieved 21 December 2019.
- ^ "Opera Browsers, Modes & Engines". Retrieved 8 January 2024.
- ^ "Have you heard about Opera mini extreme mode?". Retrieved 8 January 2024.
- ^ "Opera Mini server upgrade". dev.opera.com. Retrieved 8 January 2024.
- ^ "Flow Preview Builds". Ekioh. Retrieved 5 November 2023.
Flow's goal is to render every website correctly... but there is currently a long way left to go.
- ^ "About Ekioh". Ekioh.
- ^ "Flow Browser". Ekioh.
- ^ "Servo Projects". GitHub.
- ^ "A new browser for Magic Leap". 3 December 2018. Retrieved 20 May 2019.
- ^ "Firefox Reality for HoloLens 2". 21 May 2020. Retrieved 17 July 2020.
- ^ "Development Progress". NetSurf. Retrieved 3 May 2021.
- ^ "NetSurf | News". NetSurf. Retrieved 11 May 2022.
- ^ "NetSurf Developer page". Netsurf-browser.org. Retrieved 7 February 2019.
- ^ "NetSurf web browser homepage". Netsurf-browser.org. Retrieved 7 February 2019.
- ^ a b Andreas Kling (September 2022). "Ladybird: A new cross-platform browser project".
Please note that we're still early in development, and many web platform features are missing or broken. It's going to take a long time before Ladybird is ready for day-to-day browsing.
- ^ "SerenityOS F.A.Q." GitHub.
This project does not cater to non-technical users.
- ^ "KHTML repository". GitHub. Retrieved 5 May 2023.
Removed for KF6, the 'kf5' branch contains the last maintained state.
- ^ "Port Konqueror away from KHTML". phabricator.kde.org. Retrieved 5 May 2023.
- ^ "#1829 Restore Mac OS X code and buildability". 31 March 2022. Archived from the original on 6 May 2022.
- ^ "Pale Moon for Android is dead". forum.palemoon.org. April 2019. Retrieved 4 May 2021.
- ^ a b "Google kills forthcoming JPEG XL image format in Chromium". The Register. 31 October 2022. Retrieved 7 August 2023.
- ^ a b Purdy, Kevin (17 April 2023). "FSF: Chrome's JPEG XL killing shows how the web works under browser hegemony". Ars Technica. Retrieved 16 February 2024.
- ^ "WebGPU Implementation Status". GitHub. Retrieved 14 March 2024.
- ^ "Chrome ships WebGPU". developer.chrome.com. Google. Retrieved 23 February 2024.
- ^ "Pale Moon - Release Notes". 21 March 2023.