Comparison of browser engines
Template:Short description Template:Use dmy dates
This article compares browser engines.
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 | Creators | License | Used in |
|---|---|---|---|---|
| WebKit | Stable | Apple, initially forked from KHTML | Template:Open source | Safari browser, GNOME Web, Konqueror, Orion and all browsers for iOS[3] |
| Blink | Stable | Google, initially forked from WebKit | Template:Open source | All Chromium-based browsers |
| Gecko | Stable | Mozilla | Template:Open source | Firefox browser and its forks; SeaMonkey browser, Thunderbird email client |
| Goanna | Stable | M. C. Straver,[4] initially forked from Gecko | Template:Open source | Pale Moon, Basilisk, K-Meleon browsers |
| NetSurf | Stable | NetSurf developers[5] | Template:Open source | NetSurf browser |
| Servo | Experimental[6][7] | Linux Foundation | Template:Open source | Experimental browsers[8][9] |
| LibWeb | Experimental; in pre-alpha[10] | Ladybird Browser Initiative[11] | Template:Open source | Ladybird browser[12] |
| KHTML[13] | Discontinued | KDE | Template:Open source | Formerly in the Konqueror browser[14] |
| Tkhtml | Discontinued | Liem Bahneman[15] | Template:Open source | Formerly in Html Viewer 3 browser |
| Trident | Stable | Microsoft | Template:Proprietary | Internet Explorer browser; Microsoft Edge IE mode |
| Flow[16] | Experimental; in beta[16] | Ekioh[17] | Template:Proprietary | Flow browser[18] |
| EdgeHTML | Discontinued | Microsoft | Template:Proprietary | Some UWP apps;[19] formerly Microsoft Edge browser[20] |
| Presto | Discontinued | Opera | Template:Proprietary | Opera Mini browser in Extreme/Mini mode, where contents arrive pre-rendered using this engine server-side[21] |
| NetFront | Discontinued | Access Co., Ltd. | Template:Proprietary | Formerly in the NetFront browser, Palm Blazer 3 and up, the Dreamcast web browser, the PSP web browser, and PS3 web browser versions prior to system software 4.10. |
| Tasman | Discontinued | Microsoft | Template:Proprietary | Internet Explorer 5 Macintosh Edition |
| Mariner | Discontinued | Netscape Communications | Template:Proprietary | Netscape Communicator 5.0 |
Support
These tables summarize what stable engines support.
Operating systems
The operating systems that engines can run on without emulation.
| Engine | Windows | macOS | Linux | BSD | Haiku | Android | iOS[3] |
|---|---|---|---|---|---|---|---|
| WebKit | Yes[note 1] | Yes | Yes | Yes | Yes | Yes | Yes |
| Blink | Yes | Yes | Yes | Yes | Yes[note 2] | Yes | No |
| Gecko | Yes | Yes | Yes | Yes | Yes | Yes | No |
| Goanna | Yes | Yes[22] | Yes | Yes | No | No[23] | No |
| NetSurf[24] | Yes | No | Yes | Yes | Yes | No | No |
| Trident | Yes | No | No | No | No | No | No |
Image formats
| Engine | JPEG | JPEG 2000 | JPEG XL | JPEG XL HDR | JPEG ISO HDR | JPEG Adobe HDR | GIF | BMP | PNG | APNG | SVG | WebP | AVIF | AVIF HDR | HEIC | HEIC HDR |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| WebKit | Yes | Yes | Yes | No[25][26] | No [25][26] | No [25][26] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No [25] |
| Blink | Yes | No | No[27][28] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No |
| Gecko | Yes | No | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No |
| Goanna | Yes | No | Yes | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No |
| NetSurf[29] | Yes | No | Yes | No | No | No | Yes | Yes | Yes | No | Yes | Yes | No | No | No | No |
| Trident | Yes | No | No[30] | No | ? | ? | Yes | Yes | Yes | No | Partial | No | No[31] | No | No[32] | No |
Media formats
| Engine | VP9 | AV1 | HEVC | H264 | Opus | FLAC |
|---|---|---|---|---|---|---|
| WebKit | Yes | Yes | Yes | Yes | ? | Yes |
| Blink | Yes | Yes | Yes | Yes | Yes | Yes |
| Gecko | Yes | Yes | No | Yes | Yes | Yes |
| Goanna | Yes | Yes | No | Yes | Yes | Yes |
| NetSurf | No | No | No | ? | No | ? |
| Trident | No[33] | No[34] | Partial[33] | Yes[33] | No[35] | No[36] |
Typography
| Engine | TTF | OTF | WOFF | WOFF2 | @font-face CSS rule | Ligatures (font-variant-ligatures CSS property) |
|---|---|---|---|---|---|---|
| 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 |
| NetSurf | ? | ? | No | No | Partial[37] | No |
| Trident | Partial[38] | Partial[38] | Yes[39] | No[40] | Yes[41] | No[42] |
Other items
| Engine | Web Components | WebGL | WebGPU[43] | XHTML |
|---|---|---|---|---|
| WebKit | Partial[44] | Yes | No | Yes |
| Blink | Yes | Yes | Yes | Yes |
| Gecko | Yes | Yes | No | Yes |
| Goanna | Yes[45] | Yes | No | Yes |
| NetSurf | No | No | No | ? |
| Trident | No[44] | Yes[46] | No[47] | Yes[48] |
See also
Notes
References
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b c d Script error: No such module "citation/CS1".
- ↑ a b c Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b c Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
Cite error: <ref> tags exist for a group named "note", but no corresponding <references group="note"/> tag was found