[转帖]History of Web Browser Engines from 1990 until today
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的更多相关文章
- 关于PB调用Microsoft Web Browser控件的一些问题
Microsoft Web Browser控件是WINDOWS系统自带的控件,一般不需要单独安装,由于工作的需要,把使用中遇到的问题记录一下,以便查阅. 插入控件: 环境为PB12.0,insert- ...
- [转]Display PDF within web browser using MVC3
本文转自:http://www.codeproject.com/Tips/697733/Display-PDF-within-web-browser-using-MVC Introduction I ...
- 对于一个网站,如何禁止直接从浏览器Web browser中访问js文件
比如有一个网站,https://testsystem.infotest.com 在这个网站的内容文件目录下面,有一个scripts文件夹,该文件夹中有一个js文件,比如lukeTest.js文件 这样 ...
- C#彻底解决Web Browser 跨域读取Iframes内容
C#彻底解决Web Browser 跨域读取Iframes内容 用C# winform的控件web browser 读取网页内容,分析一下数据,做一些采集工作. 如果是同一个域名下面还是好办的,基本上 ...
- 教你如何清除 MyEclipse/Eclipse 中 Web Browser 和 Switch Workspace 的历史记录
有些许强迫症的开发人员可能会因为 MyEclipse/Eclipse 中 Web Browser 和 Switch Workspace 冗余的历史记录而感到苦恼,下面的方法就可以有效的帮助解决你的痛点 ...
- 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 ...
- 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 ...
- Have your GDX app run in the web browser
https://code.google.com/p/libgdx-users/wiki/Applets—————————————————————————————————————————————— Ha ...
- [转载]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 ...
- History of the browser user-agent string--转
https://webaim.org/blog/user-agent-string-history/ In the beginning there was NCSA Mosaic, and Mosai ...
随机推荐
- vscode搜索卡顿
解决vscode搜索,编辑器卡死问题
- 7种创建方式,带你理解Java的单例模式
本文分享自华为云社区<<Java极简设计模式>第01章:单例模式(Singleton)>,作者:冰 河. 单例设计模式 看几个单例对象的示例代码,其中有些代码是线程安全的,有些 ...
- 【好书推荐】《Python黑魔法指南》-附高清PDF版
摘要:<Python 黑魔法手册.pdf >作者(明哥)是一个从事云计算多年的 Python 重度用户,它把自已多年的 Python 编码经验整理成小册子,没有长篇大论,半天就能全能掌握, ...
- 秋风到,ModelArts“ AI市场算法Fast-SCNN指南”秋膘贴起来
本文分享自华为云社区<带你来秋日尝鲜 | ModelArts AI市场算法Fast-SCNN使用指导>,作者:Tianyi_Li 摘要:送小伙伴们一份新鲜出炉的ModelArts AI市场 ...
- 如何给MindSpore添加一个新的硬件后端?快速构建测试环境!
摘要:介绍如何给MindSpore添加一个新的硬件后端. 本文分享自华为云社区<如何给MindSpore添加一个新的硬件后端?快速构建测试环境!>,原文作者:HWCloudAI. Mind ...
- Java的这个强大功能,很多人都不知道
摘要:大多数框架采用单一的语言所开发.JNI这项Java中提供的强大功能,却逐渐的被人遗忘了. 本文分享自华为云社区<Java中一个逐渐被遗忘的强大功能,强到你难以置信!!>,作者:冰 河 ...
- 一文快速了解火山引擎 A/B 测试平台
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 一. 概述 A/B Testing 作为因果推断的「黄金标准」,是效果评估的利器. 火山引擎 A/B 测试(Dat ...
- 如何利用CCXT交易数字货币合约
更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 对于币圈量化老司机来说,相信或多或少都有接触过ccxt这个接口,ccxt为我们提供了多交易所统一的标准格 ...
- L2-010. 排座位(种类并查集)
布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位.无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席. 输入格式: ...
- 二、docker的安装和镜像管理
系列导航 一.docker入门(概念) 二.docker的安装和镜像管理 三.docker容器的常用命令 四.容器的网络访问 五.容器端口转发 六.docker数据卷 七.手动制作docker镜像 八 ...