https://eylenburg.github.io/browser_engines.htm

Many tried, few remain...

Last updated: January 2023

The loss of browser diversity since the rise of Chromium has been greatly lamented. Below you can find a graph that shows the historical and present browser engines (not browsers, but the HTML rendering engines), as well as from when to when they were developed. For the bigger engines, the market share is indicated by a coloured shape (see legend).

We're now well into the "fourth era of dominance". NCSA Mosaic dominated at the beginning (first dominance), but it was dethroned by Netscape which briefly held the majority of the market share (second dominance), both of which then were overtaken by Internet Explorer (originally using the engine from Spyglass Mosaic, and later Trident) (third dominance), which then was weakened first by Firefox (Gecko engine) but finally dethroned by Chromium (Blink engine) (fourth dominance). In terms of active and relevant engines there's now only Blink (Chrome, Edge, Opera, Vivaldi, Brave, Samsung Internet, UC Browser and many more), WebKit (Safari and all iOS browsers), and Gecko (Firefox and its forks).

But see for yourself:

Click here to open the picture in a new tab

Today's surviving engines can be divided into three groups:

1. Active engines, including experimental ones

  • Gecko (Firefox). Down to 4% market share, mismanaged by Mozilla which prioritizes pushing its politics over improving the browser. Open source
  • Goanna (Pale Moon), a fork of an old version of Gecko. At 0% market share and always at risk of not catching up with the newest web standards that Google invents. Open source
  • WebKit (Safari), a fork of KHTML. Around 15-20% market share thanks to Apple's policy of only allowing WebKit-based browsers on iOS. Open source
  • Blink, a fork of WebKit. It's the dominant engine nowadays, and it underpins Chromium, which is the basis for Chrome, Edge, Opera, Brave, Vivaldi, Samsung Internet and most other browsers; QtWebengine, which is the basis for Falkon and Otter Browser; Android WebView; Windows WebView 2; and Electron, where Blink is used to render the UI of apps. Close to 80% market share. Open source
  • Hubbub, used only in NetSurf, a rather basic browser with no support for advanced web standards such as HTML 5. 0% market share. Open source
  • The engine of iBrowse, which is available for Amiga OS and seems to be a basic browser too without full web standards supports. 0% market share. Closed source
  • Servo. This promising engine was developed by Mozilla, and parts of the Servo engine have been incorporated into Gecko. In 2020, Mozilla fired a quarter of their developers, which apparently included the whole Servo team. There have still been some commits to the code since then (presumably by hobbyists) but it is questionable if Servo will have a future. Update: Servo is now hosted by the Linux Foundation. Open source
  • Flow, which focuses on TVs, but seems to be a promising newcomer. Unfortunately it's not open source so it's likely that the company will concentrate on their TV niche and that Flow won't ever become a real competitor to Blink. Closed source
  • LibWeb, the engine powering Ladybird and the SerenityOS Browser. SerenityOS is a Unix-like operating system that has been developed from scratch by Andreas Kling since 2018. The browser is still quite experimental, but it's still great to see another contender. Open source
  • KolibiOS WebView, which started as a text browser but has over time added some basic formatting and image support.Open source

2. Zombie engines

  • Trident (Internet Explorer), while technically Trident will still get security updates until the end of Windows 10 (no date announced), there haven't been any new features or development of standards support since Edge came out in 2015. Microsoft announced that they will stop supporting Internet Explorer on most versions of Windows in 2022, but engine itself will remain accessible in Edge's "IE Mode" and hence will still receive security updates if necessary. Closed source
  • EdgeHTML, mostly known from its use in Legacy Edge, which was replaced by a newer Chromium-based Edge in 2020. Legacy Edge was forcefully removed via Windows Update in April 2021, but Microsoft confirmed that the EdgeHTML engine will still be supported with security updates, as it also been used for the built-in WebView in Windows UWP apps (superseded but not automatically replaced by Blink-based WebView 2). Closed source
  • KHTML (Konqueror), the ancestor of WebKit and Blink. Konqueror itself never got more than 0% market share, and developed has de facto stopped since about 2016, although there are still (trivial) commits to the code until today. Open source
  • Presto (Opera Mini). This engine was used in Opera until version 12 (2013). The company gave up developing their own engine and created a new browser based on Blink, which Google and Opera forked from WebKit in the same year. Opera Mini, one of the mobile browsers, still uses server-side Presto rendering on basic phones (e.g. Java-based phones), however the app hasn't been updated since 2014 but it still available for download. On Android, Opera Mini uses server-side Presto rendering when the "Extreme" data savings mode is chosen. The last known update to the Presto engine was in 2015 according to a blog post, but given that it's still used in Opera Mini to some degree it is likely that the code is still somewhat maintained. Closed source (but source code has leaked)
  • U2 (UC Browser). This engine was used in older versions of UC Browser. It is not quite clear to which extent it is used today; it appears to still be used in the app for basic phones, which like Opera Mini hasn't been updated since 2014 but is still available to download. Furthermore, past version of Android seemed to have included an optional "Speed Mode" that would revert to U2 rendering instead of Blink rendering, however this feature seems to be absent from Android nowadays. Closed source
  • Arachne. This basic browser supports only the most basic of HTML and CSS. It's not really in active development but happens to get a minor update every couple of years. Open source
  • Dillo. Basic browser for simple websites only. While the last stable release was in 2015, there have been more commits since and the project is not officially dead yet. There's also Dillo forks in development. Open source
  • Cobra. This engine is used in the Lobo Browser, written in Java. The website is online but there are no downloads available as the website is under construction. It is unclear to me what's the state of this engine and browser and whether it's alive or dead. Hence the zombie status. Open source

3. Text browsers

  • Lynx Open source
  • Links Open source
  • w3m Open source

4. Embedded rendering

  • Sciter. Used for rendering the UI of apps. There's no browser using Sciter to display websites, and the engine is Closed source.
  • Ultralight. Soft fork of WebKit that aims to be a light-weight alternative to Electron (Chromium) for apps. Open source
  • MS Word. This is the engine used in Microsoft Office, including Outlook which uses it render HTML emails. There's no browser using the Word engine to display websites. Closed source
  • Prince. This is a HTML/CSS engine used in a commercial product that converts HTML into PDFs. There's no browser using this engine to display websites. Closed source
  • Satori. This is a HTML/CSS engine used used to converts HTML into SVGs. There's no browser using this engine to display websites. Open source
  • Chinese Blink variants. There is little information out there. There seems to be X5 by Tencent, used in WeChat and some versions of QQ Browser, as well as T7 used by Baidu's "baiduboxapp" (a search app for phones?), both Closed source. Other Chinese engines include UC's U3 and Baidu's T5, both of which seem to be dead now. All of these are based on Blink and it is unclear how much they actually differ or if they are just a rebranding of Blink, or a kind of CCP-approved Blink bastardization, or a real fork with useful features added.

Question Marks

Some questions remain and if anyone can help with information this will be greatly appreciated.

  • Was Netscape based on NCSA Mosaic's engine?
    • No, according to: Clark, Jim; Owen Edwards (1999). Netscape Time: The Making of the Billion-Dollar Start-Up That Took on Microsoft. St. Martin's Press. ISBN 978-0312199340. "The Mosaic Netscape web browser did not use any NCSA Mosaic code", quoted via Wikipedia. https://archive.org/details/netscapetimemaki00clar
  • Was Spyglass Mosaic's engine (used also in IE 1-3) based on NCSA Mosaic's engine?
    • No, according to: https://ericsink.com/Browser_Wars.html. "Yes, we licensed the technology and trademarks from NCSA (at the University of Illinois), but we never used any of the code. We wrote our browser implementations completely from scratch, on Windows, MacOS, and Unix."
  • Was Trident (IE 4-11) based on Spyglass Mosaic's engine (IE 1-3)?
    • I have never found any information, so I will assume that IE 4's Trident engine was completely developed from scratch.
  • Was Presto (Opera 7-12) based on Elektra (Opera 3.5-6), and was Elektra based on the original Opera's engine?
    • I have assumed yes, but evidence is spurious: in http://www.blooberry.com/indexdot/history/opera.htm it uses the wording "rendering engine re-write (now referred to as "Presto")" for Opera 7. This makes it seems like Presto was just a re-write, not a new engine written completely from scratch. The same might be true for Elektra years before.
  • Was iBrowse's engine based on Mosaic?
    • Wikipedia says iBrowse was a "rewritten follow-on" to the Amiga version of NCSA Mosaic, via Bettinson, Mat (November 1996). "Battle of the Browsers, IBrowse 1.0". CU Amiga. No. 81. EMAP. pp. 54-56. Like with Presto above, I assume that "rewritten" means "not started from scratch", but it is not very clear.
  • Are the Zombie engines (see above) still maintained?
    • For EdgeHTML there is the issue of Windows WebView, for which (unlike Legacy Edge) no end of life has been announced. For Presto it is unclear because it's still kind of available in Opera Mini but only through server-side rendering so the code might be untouched for years now.
    • For U2, it's the same, just for UC Browser instead of Opera
    • For KHTML, there are still some very minor commits to the code (such as changing KDE versions), but for all other intents and purposes Konqueror is dead
    • Line Mode Browser (last update in 2006, but used in libwww)
  • What are those obscure Chinese engines? There's U2, U3, X5, T5, and T7 at least, but besides U2, which seems to be its own thing, the rest all appear to be soft forks or mere rebrandings of WebKit/Blink. Are they really their own engines?
  • The starting and end dates of obscure and historic browsers are often speculative
  • Market shares are obviously hard to be determined, especially because there's not one single website which has kept track since the beginning of the web. The newest numbers I have used are from StatCounter, by the way.

For reference (e.g. if the picture doesn't display), the engines included above are:

  • WorldWideWeb/Nexus
  • Line Mode Browser (text-based)
  • ViolaWWW
  • Erwise
  • Lynx (text-based) STILL ALIVE
  • MacWWW
  • MidasWWW
  • tkWWW
  • Arena
  • Cello
  • NCSA Mosaic
    • Fork: mMosaic
    • Fork: VMS-Mosaic
    • Fork: Mosaic-CK
    • Fork (???): iBrowse STILL ALIVE
  • Ariadna
  • Fresco
  • HotJava/Webrunner
  • IBM WebExplorer
  • InternetWorks
  • MacWeb
  • Netscape (v1-5, engine later called Mariner)
  • Netmanage Chameleon
  • Pocketweb
  • Prodigy
  • SlipKnot
  • Tkhtml
  • Grail
  • Mothra
  • NetCruiser
  • Netfront
  • OmniWeb
  • Spyglass Mosaic (engine most famously used in Internet Explorer 1-3)
  • UdiWWW
  • WebTV/MSN TV
  • w3m engine (text-based) STILL ALIVE
  • Amaya
  • Arachne UNDEAD, not officially dead but development has mostly ceased
  • AWeb
  • Charon
  • Cyberdog
  • Espial/Escape
  • Lotus Notes (email rendering)
  • NetHopper
  • NetPositive
  • Opera (original engine in v1-3.21)
    • Fork (???): Elektra (used in Opera v3.5-6)
      • Fork (???): Presto (used in Opera v7-12) UNDEAD, still used in Opera Mini in 'extreme data savings' mode and on basic phones
  • Oracle PowerBrowser
  • PlanetWeb
  • Pocket Internet Explorer
  • UP.Browser/Openwave
  • AOL IWENG
  • ICEBrowser
  • Gecko (used in Netscape v6-9/Mozilla/Firefox/Seamonkey) STILL ALIVE
    • Fork: Clecko (used in Classilla)
    • Fork: Goanna (used in Pale Moon and Basilisk) STILL ALIVE
  • Gzilla
    • Fork: Dillo UNDEAD, not officially dead but development has mostly ceased
  • Microsoft Word (used in Office & Outlook for email rendering as well as exporting and importing HTML to/from Word/Excel/Powerpoint) STILL ALIVE but not used in any browser
  • Robin (used in The Bat! for email rendering, until 2020)
  • STNC HitchHiker/MS Mobile Explorer
  • Trident (used in Internet Explorer 4-11) UNDEAD, will still get security updates until the end of life of Windows 10
  • EdgeHTML (used in Legacy Edge) MORIBUND, end of life for Legacy Edge was April 2021, and it is quite likely Windows WebView (based on EdgeHTML) will also stop being supported at some point (it has already been superseded with WebView 2 based on Blink)
  • KHTML (used in Konqueror) UNDEAD, only minor code commits for the last few years
    • Fork: wxHTML
    • Fork: GtkHTML
    • Fork: WebKit (used in Safari, GNOME Web, and Midori) STILL ALIVE
      • Fork: U3 (used in UC Browser)
      • Fork: T5 (used in Baidu Browser)
      • Fork: Ultralight (for use in apps and games)
      • Fork: Blink (used in Chromium, Chrome, Edge, Opera, Brave, Vivaldi, Samsung Internet, UC Browser, and many more) STILL ALIVE
        • Chinese Blink variant: X5 (used in WeChat and QQ Browser, both by Tencent)
        • Chinese Blink variant: T7 (used in Baiduboxapp)
  • Clipper (used in Palm browser)
  • iCab
  • jB5
  • Links (text-based) STILL ALIVE
  • Mango (used in BlackBerry browser in OS 1-5)
  • Obigo
  • WinWAP
  • Blazer
  • Interactor (used in Oregan Browser)
  • Tasman (used in Internet Explorer 5 for Mac and later in Entourage for email rendering)
  • Voyager
  • Netgem
  • Netrik (text-based)
  • Off by One
  • retawq (text-based)
  • Thunderhawk
  • HomePageReader
  • Lumi (used in Polaris Browser 1-6)
  • Vision Mobile
  • Contiki Browser
  • iPanel Microbrowser
  • Skweezer
  • Galio
  • Prince (HTML to PDF conversion) STILL ALIVE but not used in any browser
  • U2 (used in UC Browser) UNDEAD, still used in UC Browser for basic phones
  • Sciter (app UI rendering) STILL ALIVE but not used in any browser
  • Hubbub (used in NetSurf) STILL ALIVE
  • Teashark
  • Cobra (used in Lobo Browser) UNCLEAR if this browser is still developed
  • KolibriOS WebView STILL ALIVE but very basic
  • Fugu (used in Myriad Browser 6)
  • Magellan (used in Myriad Browser 7)
  • Skyfire
  • Servo STILL ALIVE
  • Ekioh Flow STILL ALIVE
  • LibWeb (used in Ladybird and the SerenityOS Browser) STILL ALIVE
  • Satori (HTML to SVG conversion) STILL ALIVE but not used in any browser

[转帖]History of Web Browser Engines from 1990 until today的更多相关文章

  1. 关于PB调用Microsoft Web Browser控件的一些问题

    Microsoft Web Browser控件是WINDOWS系统自带的控件,一般不需要单独安装,由于工作的需要,把使用中遇到的问题记录一下,以便查阅. 插入控件: 环境为PB12.0,insert- ...

  2. [转]Display PDF within web browser using MVC3

    本文转自:http://www.codeproject.com/Tips/697733/Display-PDF-within-web-browser-using-MVC Introduction I ...

  3. 对于一个网站,如何禁止直接从浏览器Web browser中访问js文件

    比如有一个网站,https://testsystem.infotest.com 在这个网站的内容文件目录下面,有一个scripts文件夹,该文件夹中有一个js文件,比如lukeTest.js文件 这样 ...

  4. C#彻底解决Web Browser 跨域读取Iframes内容

    C#彻底解决Web Browser 跨域读取Iframes内容 用C# winform的控件web browser 读取网页内容,分析一下数据,做一些采集工作. 如果是同一个域名下面还是好办的,基本上 ...

  5. 教你如何清除 MyEclipse/Eclipse 中 Web Browser 和 Switch Workspace 的历史记录

    有些许强迫症的开发人员可能会因为 MyEclipse/Eclipse 中 Web Browser 和 Switch Workspace 冗余的历史记录而感到苦恼,下面的方法就可以有效的帮助解决你的痛点 ...

  6. How To Open An URL In Android’s Web Browser

    How To Open An URL In Android’s Web Browser 以下核心代码片断,将展现使用“android.content.Intent” 打开一个指定的 URL. butt ...

  7. How to open a web site with the default web browser in a NEW window

    http://delphi.about.com/cs/adptips2004/a/bltip0504_4.htm When using ShellExecute (as explained in th ...

  8. Have your GDX app run in the web browser

    https://code.google.com/p/libgdx-users/wiki/Applets—————————————————————————————————————————————— Ha ...

  9. [转载]Install Opera 12.16 Web Browser in CentOS/RHEL and Fedora

    FROM: http://tecadmin.net/install-opera-web-browser-in-centos-rhel-fedora/ Opera is an modern web br ...

  10. History of the browser user-agent string--转

    https://webaim.org/blog/user-agent-string-history/ In the beginning there was NCSA Mosaic, and Mosai ...

随机推荐

  1. 实例讲解基于Sermant快速开发服务治理插件

    本文分享自华为云社区<Sermant框架下的服务治理插件快速开发及使用指南>,作者: 华为云开源 . Sermant是基于Java字节码增强技术的云原生无代理服务网格,它具有非侵入.插件化 ...

  2. 让 AI “潜入”物流中心,你的快递很快就到!

    摘要:华为利用数字化.智能化的手段从传统物流运营转升成为专业智慧物流,在那些"看不见的地方"华为正在默默耕耘. 网购已经成为了新时代下的"日常",于是每年的「6 ...

  3. 华为云发布ModelBox AI应用开发框架

    摘要:华为云ModelBox AI应用开发框架,打通端边云边界,助力开发者实现AI应用一次开发,全场景部署. 近日,以"因聚而生,为你所能"为主题的华为伙伴暨开发者大会 2022隆 ...

  4. 带你学会区分Scheduled Thread Pool Executor 与Timer

    摘要:本文简单介绍下Scheduled Thread Pool Executor类与Timer类的区别,Scheduled Thread Pool Executor类相比于Timer类来说,究竟有哪些 ...

  5. React Native UI界面还原,组件布局与动画效果

    写React Native UI和写 Android XML layout 布局 ,个人感觉是大同小异 在<ReactJS到React-Native,架构原理概述>里面提过 web 环境中 ...

  6. Windows 安装 MySQL 5.7 x64 位

    设置MySQL 创建数据库,默认为UTF-8 下载地址:https://downloads.mysql.com/archives/installer/ 安装 网站上只有 x86 没有 x64 位,之前 ...

  7. java中类的普通初始化块一定在静态初始化块后运行吗

    大部分教程都会告诉我们静态初始化块和静态字段总是在初始化块和普通类字段前运行,事实上也确实如此,直到我看到下面这样的代码: public class Test { static Test test = ...

  8. STM32CubeMX教程17 DAC - 输出三角波噪声波

    1.准备材料 正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) ST-LINK/V2驱动 ...

  9. LaTex常用数学符号整理

    在论文和博客的写作中,经常会用到Latex的语法来书写数学公式,一份详细的数学符号对照表必不可少,本文重写了部分 Markdown 公式指导手册 . 在线Latex公式编辑器 -1.求和积分的上下标位 ...

  10. Oracle JDK7 bug 发现、分析与解决实战

    本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/8f34CaTp--Wz5pTHKA0Xeg作者:vivo 官网商城开发团队 众所周知,Ora ...