Comparison of browser engines

Last updated

This article compares browser engines, especially actively-developed ones. [lower-alpha 1]

Contents

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

EngineStatus [lower-alpha 1] Steward License Embedded in
WebKit Active Apple GNU LGPL, BSD-style Safari browser, plus all browsers for iOS; [3] GNOME Web, Konqueror
Blink Active Google GNU LGPL, BSD-style Google Chrome and all other Chromium-based browsers, notably Microsoft Edge, Brave, Vivaldi, Samsung Internet and Opera [4]
Gecko Active Mozilla Mozilla Public Firefox browser and Thunderbird email client
Goanna [lower-alpha 2] ActiveM. C. Straver [6] Mozilla Public Pale Moon, Basilisk and K-Meleon browsers
Trident [lower-alpha 3] Maintained Microsoft Proprietary Internet Explorer browser
EdgeHTML Maintained Microsoft Proprietary some UWP apps; [8] formerly in the Edge browser [9]
Presto [lower-alpha 4] Maintained Opera Proprietary server-side for low-end phones; [lower-alpha 4] formerly in the Opera browser
Flow [13] MaintainedEkioh [14] Proprietary Flow browser [15]
Servo Maintained Linux Foundation Mozilla Public experimental browsers [16] [17]
NetSurf [lower-alpha 5] Maintained hobbyists [20] GNU GPLv2 NetSurf browser [21]
LibWeb [lower-alpha 6] Maintained hobbyists [23] 2-clause BSD Ladybird browser [22]
KHTML [24] Discontinued KDE GNU LGPL formerly in the Konqueror browser [25]

Support

These tables summarize what actively-developed [lower-alpha 1] engines support. [lower-alpha 7]

Operating systems

The operating systems that engines can run on without emulation.

Engine Windows macOS iOS [3] Android Linux BSD Haiku
WebKit Yes [lower-roman 1] YesYesYesYesYesYes
Blink YesYesNoYesYesYesYes [lower-roman 2]
Gecko YesYesNoYesYesYesNo
Goanna YesYes [26] NoNo [27] YesYesNo

Notes

  1. Must be built from source code.
  2. Only available through QtWebEngine.

Image formats

Engine JPEG GIF PNG SVG WebP AVIF
WebKit YesYesYesYesYesYes
Blink [lower-alpha 7] YesYesYesYesYesYes
Gecko YesYesYesYesYesYes
Goanna YesYesYesYesYesNo

Media formats

EngineVP9AV1HEVCH264+AACOpusFLAC
WebKit YesYesYesYesDependsYes
Blink YesYesYesYesYesYes
Gecko YesYesNoYesYesYes
Goanna YesYesNoYesYesYes

Typography

EngineTTFOTFWOFFWOFF2@font-faceLigatures
WebKit YesYesYesYesYesYes
Blink YesYesYesYesYesYes
Gecko YesYesYesYesYesYes
Goanna YesYesYesYesYesYes

Other items

Engine Web Components WebGL WebGPU [30] XHTML
WebKit YesYesNot yetYes
Blink YesYesYes [31] Yes
Gecko YesYesNot yetYes
Goanna Yes [32] YesNoYes

See also

Notes

  1. 1 2 3 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.
  2. Goanna is a fork of an old version of Gecko. It has less web compatibility, but still renders the vast majority of websites. [5]
  3. Internet Explorer continues to receive security updates, [7] which means Trident (a.k.a. MSHTML) is still maintained.
  4. 1 2 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.
  5. NetSurf does not fully support HTML5 or other recent Web standards, [18] [19] 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.
  6. As of September 2022, LibWeb will require "years of development" before it is a full-featured engine suitable for real browsing. [22] Thus it does not merit Active status per this article's criteria.

Related Research Articles

A browser engine is a core software component of every major web browser. The primary job of a browser engine is to transform HTML documents and other resources of a web page into an interactive visual representation on a user's device.

<span class="mw-page-title-main">KHTML</span> Discontinued web browser engine

KHTML is a discontinued browser engine that was developed by the KDE project. It originated as the engine of the Konqueror browser in the late 1990s, but active development ceased in 2016. It was officially discontinued in 2023.

<span class="mw-page-title-main">Browser wars</span> Competition between web browsing applications for share of worldwide usage

A browser war is a competition for dominance in the usage share of web browsers. The "first browser war," (1995–2001) consisted of Internet Explorer and Navigator. Browser wars continued with the decline of Internet Explorer's market share and the popularity of other browsers, including Firefox, Google Chrome, Safari, Microsoft Edge and Opera.

Presto was the browser engine of the Opera web browser from the release of Opera 7 on 28 January 2003, until the release of Opera 15 on 2 July 2013, at which time Opera switched to using the Blink engine that was originally created for Chromium. Presto was also used to power the Opera Mini and Opera Mobile browsers.

WebKit is a browser engine developed by Apple and primarily used in its Safari web browser, as well as all web browsers on iOS and iPadOS. WebKit is also used by the PlayStation consoles beginning from the PS3, the Tizen mobile operating systems, the Amazon Kindle e-book reader, Nintendo consoles beginning from the 3DS Internet Browser, and the discontinued BlackBerry Browser. WebKit's C++ application programming interface (API) provides a set of classes to display Web content in windows, and implements browser features such as following links when clicked by the user, managing a back-forward list, and managing a history of pages recently visited.

This is a comparison of both historical and current web browsers based on developer, engine, platform(s), releases, license, and cost.

A JavaScript engine is a software component that executes JavaScript code. The first JavaScript engines were mere interpreters, but all relevant modern engines use just-in-time compilation for improved performance.

<span class="mw-page-title-main">Site-specific browser</span> Software application for browsing a particular website

A site-specific browser (SSB) is a software application that is dedicated to accessing pages from a single source (site) on a computer network such as the Internet or a private intranet. SSBs typically simplify the more complex functions of a web browser by excluding the menus, toolbars and browser GUI associated with functions that are external to the workings of a single site. These applications are typically started by a desktop icon which is usually a favicon.

<span class="mw-page-title-main">Opera (web browser)</span> Freeware web browser

Opera is a multi-platform web browser developed by its namesake company Opera. The current edition of the browser is based on Chromium. Opera is available on Windows, macOS, Linux, Android, and iOS. There are also mobile versions called Opera Mobile and Opera Mini. Opera users also have access to Opera News, a news app based on an AI platform.

V8 is a JavaScript and WebAssembly engine developed by Google for its Chrome browser. V8 is free and open-source software that is part of the Chromium project and also used separately in non-browser contexts, notably the Node.js runtime system.

<span class="mw-page-title-main">Chromium (web browser)</span> Open-source web browser project

Chromium is a free and open-source web browser project, primarily developed and maintained by Google. It is a widely-used codebase, providing the vast majority of code for Google Chrome and many other browsers, including Microsoft Edge, Samsung Internet, and Opera. The code is also used by several app frameworks.

<span class="mw-page-title-main">WebGL</span> JavaScript bindings for OpenGL in web browsers

WebGL is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelerated usage of physics, image processing, and effects in the HTML canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.

<span class="mw-page-title-main">WebP</span> Image file format

WebP is a raster graphics file format developed by Google intended as a replacement for JPEG, PNG, and GIF file formats. It supports both lossy and lossless compression, as well as animation and alpha transparency.

<span class="mw-page-title-main">Pale Moon</span> Open-source web browser with an emphasis on customization

Pale Moon is an open-source web browser with an emphasis on customization; its motto is "Your browser, Your way". There are official releases for Microsoft Windows, FreeBSD, macOS, and Linux, as well as contributed builds for various platforms.

A lightweight web browser is a web browser that sacrifices some of the features of a mainstream web browser in order to reduce the consumption of system resources, and especially to minimize the memory footprint.

<span class="mw-page-title-main">Chromium Embedded Framework</span> Free and open-source software framework

The Chromium Embedded Framework (CEF) is an open-source software framework for embedding a Chromium web browser within another application. This enables developers to add web browsing functionality to their application, as well as the ability to use HTML, CSS, and JavaScript to create the application's user interface.

Blink is a browser engine developed as part of the free and open-source Chromium project. Blink is by far the most-used browser engine, due to the market share dominance of Google Chrome and the fact that many other browsers are based on the Chromium code.

<span class="mw-page-title-main">Microsoft Edge</span> Web browser developed by Microsoft

Microsoft Edge is a proprietary cross-platform web browser created by Microsoft. Released in 2015 as part of Windows 10 and Xbox One, it was initially built with Microsoft's own proprietary browser engine, EdgeHTML, and their Chakra JavaScript engine. Later on, it was ported to Android and iOS as a fork of Google's Chromium open-source project. In late 2018, Microsoft announced it would completely rebuild Edge as a Chromium-based browser with Blink and V8 engines, which allowed the browser to be ported to macOS. The new Edge was publicly released in January 2020, and on Xbox platforms in 2021. Microsoft has since terminated security support for the original browser. Edge is also available on older Windows versions, as well as Linux.

JPEG XL is a royalty-free raster-graphics file format that supports both lossy and lossless compression. It is designed to outperform existing raster formats and thus become their universal replacement.

References

  1. Paul Festa (2003-01-14). "Apple snub stings Mozilla". CNET Networks. Archived from the original on 2012-10-25. Retrieved 2017-02-16.
  2. Bright, Peter (April 3, 2013). "Google going its own way, forking WebKit rendering engine". Ars Technica . Conde Nast . Retrieved March 9, 2017.
  3. 1 2 "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.
  4. 1 2 "Current browser market share". StatCounter . Retrieved 29 October 2021.
  5. 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.
  6. M. C. Straver. "About Moonchild Productions". Archived from the original on 2017-03-13. Retrieved 2018-04-19.
  7. "Lifecycle FAQ – Internet Explorer and Microsoft Edge – Microsoft Lifecycle". docs.microsoft.com. Retrieved August 30, 2020.
  8. Mendelevich, Alan (14 May 2021). "You Think You Can Forget About the "Legacy" Microsoft Edge? Not So Fast!".
  9. Mackie, Kurt (10 December 2018). "Microsoft Edge Browser To Get New Rendering Engine but EdgeHTML Continues". Redmond Mag. Retrieved 21 December 2019.
  10. "Opera Browsers, Modes & Engines" . Retrieved 8 January 2024.
  11. "Have you heard about Opera mini extreme mode?" . Retrieved 8 January 2024.
  12. "Opera Mini server upgrade". dev.opera.com. Retrieved 8 January 2024.
  13. "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.
  14. "About Ekioh". Ekioh.
  15. "Flow Browser". Ekioh.
  16. "A new browser for Magic Leap". 2018-12-03. Retrieved 2019-05-20.
  17. "Firefox Reality for HoloLens 2". 2020-05-21. Retrieved 2020-07-17.
  18. "Development Progress". NetSurf. Retrieved 3 May 2021.
  19. "NetSurf | News". NetSurf. Retrieved 11 May 2022.
  20. "NetSurf Developer page". Netsurf-browser.org. Retrieved 7 February 2019.
  21. "NetSurf web browser homepage". Netsurf-browser.org. Retrieved 7 February 2019.
  22. 1 2 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.
  23. "SerenityOS F.A.Q." GitHub. This project does not cater to non-technical users.
  24. "KHTML repository". GitHub. Retrieved 5 May 2023. Removed for KF6, the 'kf5' branch contains the last maintained state.
  25. "Port Konqueror away from KHTML". phabricator.kde.org. Retrieved 5 May 2023.
  26. "#1829 Restore Mac OS X code and buildability". 2022-03-31. Archived from the original on 2022-05-06.
  27. "Pale Moon for Android is dead". forum.palemoon.org. April 2019. Retrieved 4 May 2021.
  28. 1 2 "Google kills forthcoming JPEG XL image format in Chromium". The Register. 31 October 2022. Retrieved 7 August 2023.
  29. 1 2 Purdy, Kevin. "FSF: Chrome's JPEG XL killing shows how the web works under browser hegemony". Ars Technica. Retrieved 16 February 2024.
  30. "WebGPU Implementation Status". GitHub. Retrieved 14 March 2024.
  31. "Chrome ships WebGPU". developer.chrome.com. Google. Retrieved 23 February 2024.
  32. "Pale Moon - Release Notes". 2023-03-21.