Comparison of lightweight web browsers

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Template:SHORTDESC:

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.[1][2][3]

The tables below compare notable lightweight web browsers. Several of them use a common layout engine, but each has a unique combination of features and a potential niche. The minimal user interface in surf, for example, does not have tabs,[4] whereas xombrero can be driven with vi-like keyboard commands.[5]

Four of the browsers compared—Lynx, w3m, Links, and ELinks—are designed for text mode, and can function in a terminal emulator. Eww is limited to working within Emacs. Links 2 has both a text-based user interface and a graphical user interface. w3m is, in addition to being a web browser, also a terminal pager.[6]

Overview

[edit | edit source]
Browser Developers Status Engine Programming languages License Latest release
Version Date
Arora Benjamin C. Meyer et al.[7] Discontinued QtWebKit[8] C++ GPL-2.0-or-later
Dillo Jorge Arellano Cid et al. Active Dillo C, C++ GPL-3.0-or-later
ELinks Petr Baudiš, Jonas Fonseca, et al. Active Links C, C++ GPL-2.0-only
Eww Lars Magne Ingebrigtsen Active GNU Emacs libraries Emacs Lisp GPL-3.0-or-later
Falkon (QupZilla) David Rosca Active QtWebKit / Qt WebEngine C++ GPL-3.0-or-later
hv3 Dan Kennedy & team Discontinued Tkhtml Tcl GPL
K-Meleon Christophe Thibault et al. Active Gecko / Goanna (fork) C++ GPL
Links Mikuláš Patočka, Twibright Labs, et al. Active Links C GPL-2.0-or-later
Lynx Lou Montulli, Thomas Dickey, et al. Active libwww derivative C (ISO C) GPL-2.0-only
NetSurf John-Mark Bell, Michael Drake, et al.[9] Active NetSurf C (ANSI C) GPL-2.0-only
Otter Browser Michał Dutkiewicz[10] Active QtWebKit / Qt WebEngine C++ GPL-3.0-or-later
QtWeb LogicWare; LSoft Technologies[11] Unmaintained QtWebKit C++ GPL-2.0-or-later
qutebrowser Florian Bruhin et al. Active [12] QtWebKit / Qt WebEngine[13] Python3 GPL-3.0-or-later
rekonq Andrea Diamantini et al. Discontinued QtWebKit[8] C++ GPLv3
surf Christoph Lohmann et al. Active WebKitGTK C MIT
uzbl Dieter Plaetinck et al. Discontinued WebKitGTK C, Python GPL-3.0-only
w3m Akinori Ito et al. Unmaintained w3m C MIT
WebPositive Andrea Anzani, Ryan Leavengood, et al. Active HaikuWebkit C++ MIT
xombrero Marco Peerboom et al. Discontinued WebKitGTK C, JavaScript ISC

Operating system support

[edit | edit source]
Browser BSD Haiku Linux macOS OpenIndiana OS/2 QNX RISC OS Windows Android
Arora Yes Yes Yes Yes Yes[14] Yes No No Yes
Dillo Yes Yes[15] Yes Yes Yes[16] No No Yes[16] Cygwin[16][17]
ELinks Yes[18] ? Yes[18] Yes[18] Yes[18] Yes[18] No[18] Dropped[18] ?
Falkon (QupZilla) Dropped[19][20] Yes[19][20] Yes[19][20] Dropped[21] No Dropped[19][20] No No Dropped[20]
K-Meleon Wine No Wine[22] Wine No No No No Yes
Links Unofficial No Yes Unofficial ? Yes No No Yes
Lynx Yes Yes Yes Yes Yes Yes Yes Yes[23][24] Yes
NetSurf Yes[25] Yes[26] Yes[25] Yes[25] Yes[25] No ? Yes[27] Yes[28]
Otter Browser Yes[29] Unofficial[30] Yes[29] Yes[29] No No No No Yes
QtWeb Yes Unofficial[31] Yes Yes Unofficial[i] No No No Yes
qutebrowser Yes ? Yes Yes ? ? ? ? Yes
rekonq Yes No Yes No Unofficial[i] No No No Inactive[ii]
surf Yes No Yes ? ? ? ? No No
uzbl ? ? Yes Yes ? ? ? ? ?
w3m Unofficial Unofficial Yes Unofficial Unofficial Inactive No No Cygwin
WebPositive No Yes No No No No No No No
xombrero Yes No Yes Yes Yes No No No Yes
Notes
  1. ^ a b Must be built from source code; requires a compatible version of Qt.
  2. ^ rekonq v1.1 for Windows was published in September 2012. As of June 2014, it is the only published version for Windows.[32]

Features

[edit | edit source]

Test scores reflect the version of the browser engine in use. Generally, a lower score indicates an older version of the browser engine.

Image formats Advanced Test scores Plug-in APIs
Browser GIF, JPEG, PNG WebP JavaScript Frames Acid3 HTML5test Netscape Pepper
Arora Yes No Yes Yes 100/100[i] 359/550[33] No[ii] No
Dillo Yes Yes[34] No Partial N/A[iii] N/A[iii] No No
ELinks No No Partial[iv] Partial N/A[iii] N/A[iii] No No
Falkon (QupZilla) Yes Yes Yes Yes 100/100[i] 497/550[36] Partial Partial
K-Meleon Yes No Yes Yes 100/100[i] 416/555[37] Partial[38] No
Links Yes[v] Yes No[vi] Partial N/A[iii] N/A[iii] No No
Lynx No No No Partial N/A[iii] N/A[iii] No No
NetSurf Yes[40] Yes Partial[41] Yes N/A[iii] N/A[iii] No[42] No
Otter Browser Yes Yes Yes Yes 100/100 370/550[43] Yes No
QtWeb Yes No Yes Yes 100/100[i][vii] 234/550[44] No[ii] No
qutebrowser Yes Yes Yes Yes 99/100[citation needed] 521/550 No No
rekonq Yes No Yes Yes 100/100[i] 385/555[45] No[ii] Partial[46]
surf Yes Yes[viii] Yes Yes 100/100[i] 385/500[48] Yes ?
uzbl Yes Yes Yes Yes 98/100 461/500 Yes ?
w3m Yes[49] No No[50] Yes N/A[iii] N/A[iii] No No
WebPositive Yes No Yes Yes 98/100[i] 358/500[51] No No
xombrero Yes Yes[viii] Yes Yes 100/100 385/500[52] Yes ?
Notes
  1. ^ a b c d e f g Some tests take too much time to complete.
  2. ^ a b c NPAPI is ported to QtWebKit, but is not implemented in this browser.
  3. ^ a b c d e f g h i j k l The test requires JavaScript, which is not sufficiently supported by this browser.
  4. ^ ELinks implements Mozilla's SpiderMonkey JavaScript engine.[35]
  5. ^ Only Links 2 supports graphics.
  6. ^ JavaScript support was removed in 2007 (in release 2.1pre29).[39]
  7. ^ The final state does not match the reference rendering.
  8. ^ a b WebP is supported via the WebKitGTK browser engine.[47]

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  15. ^ https://depot.haiku-os.org/__multipage/pkg/dillo_plus/haikuports/haikuports_x86_64/3/2/1/-/2/x86_64?locale=zh [bare URL]
  16. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  18. ^ a b c d Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  19. ^ a b c d e Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  20. ^ https://bugs.kde.org/show_bug.cgi?id=395926 [bare URL]
  21. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  22. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  23. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  24. ^ a b c d Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  25. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  26. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  27. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  28. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  29. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  30. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  31. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  32. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  33. ^ https://dillo-browser.github.io/release/3.2.0 [bare URL]
  34. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  35. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  36. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  37. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  38. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  39. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  40. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  41. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  42. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  43. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  44. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  45. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  46. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  47. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  48. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  49. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  50. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  51. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).

Further reading

[edit | edit source]
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).