Comparison of browser engines

From Wikipedia, the free encyclopedia

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[edit]

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
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[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 Maintained Linux Foundation Mozilla Public experimental browsers[16][17]
NetSurf[e] Maintained hobbyists[20] GNU GPLv2 NetSurf browser[21]
LibWeb[f] Maintained hobbyists[23] 2-clause BSD Ladybird browser[22]
KHTML[24] Discontinued KDE GNU LGPL formerly in the Konqueror browser[25]

Support[edit]

These tables summarize what actively-developed[a] engines support.[g]

Operating systems[edit]

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[26] No No[27] Yes Yes No

Notes

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

Image formats[edit]

Engine JPEG GIF PNG SVG WebP AVIF
WebKit Yes Yes Yes Yes Yes Yes
Blink[g] Yes Yes Yes Yes Yes Yes
Gecko Yes Yes Yes Yes Yes Yes
Goanna Yes Yes Yes Yes Yes No

Media formats[edit]

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[edit]

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[edit]

Engine Web Components WebGL WebGPU[30] XHTML
WebKit Yes Yes Not yet Yes
Blink Yes Yes Yes[31] Yes
Gecko Yes Yes Not yet Yes
Goanna Yes[32] Yes No Yes

See also[edit]

Notes[edit]

  1. ^ 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.
  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. ^ 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.
  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.

References[edit]

  1. ^ Paul Festa (14 January 2003). "Apple snub stings Mozilla". CNET Networks. Archived from the original on 25 October 2012. Retrieved 16 February 2017.
  2. ^ Bright, Peter (3 April 2013). "Google going its own way, forking WebKit rendering engine". Ars Technica. Conde Nast. Retrieved 9 March 2017.
  3. ^ 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.
  4. ^ a b "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 13 March 2017. Retrieved 19 April 2018.
  7. ^ "Lifecycle FAQ – Internet Explorer and Microsoft Edge – Microsoft Lifecycle". docs.microsoft.com. Retrieved 30 August 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". 3 December 2018. Retrieved 20 May 2019.
  17. ^ "Firefox Reality for HoloLens 2". 21 May 2020. Retrieved 17 July 2020.
  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. ^ 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.
  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". 31 March 2022. Archived from the original on 6 May 2022.
  27. ^ "Pale Moon for Android is dead". forum.palemoon.org. April 2019. Retrieved 4 May 2021.
  28. ^ a b "Google kills forthcoming JPEG XL image format in Chromium". The Register. 31 October 2022. Retrieved 7 August 2023.
  29. ^ a b 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". 21 March 2023.