Lean Web browsers on Linux

Geoff Leighly, 123RF.com

Trimmed down

Linux offers a number of lean web browsers which can be substituted for resource hungry ones like Mozilla Firefox and Google Chrome. Although they may appear rather austere, these browsers are nonetheless remarkably convenient to use.

Mainstream web browsers like Firefox and Chrome gobble up working memory by the GigaByte. On underpowered single board computers like the Raspberry Pi, there is often not enough space for the extra RAM required. Luckily most Linux distributions have a leaner web browser nestling in their package list. Raspbian, being based on Debian, is no exception. Newer applications such as Qutebrowser [1] are built on the Webkit rendering engine. The same goes for Apple Safari and more recently, Opera. However, even the Webkit engine is not exactly frugal in terms of system resources.

Instead, we should examine older web browsers which place less demand on memory. These browsers can generally be divided into two categories. These include those that use the X Graphical Interface, and those which are text based. The latter of the two types of browsers run on the Console, in a terminal emulator or remotely via SSH. There are exceptions. Some text based browsers use Framebuffer in order to also offer a graphical interface on the Console. One browser even supprots all three of the above interfaces.

In preparing this article, we looked at seven extra lean web browsers. All of them can be found in the repositories of Debian 8 "Jessie" and current Debian derivatives like Ubuntu and Linux Mint. The test platform was a 1997 IBM Thinkpad 760XD with 80 MB RAM running Debian 8 .


NetSurf [2] is the plumpest of the learn web browsers. It is in continuous development. The newest version 3.3 was released in early 2015. The Debian package for version 3.2 has a GTK interface and takes approximately 4 MB of space on the disk. When running, the browser can require 104 MB just to open a web page. When there are lots of open tabs, this browser can cause serious slow downs for computers which don't have much RAM. This is because the system is forced to swap out part of the browser.

Even so, NetSurf offers the most functionality. In addition to the best CSS support (CSS 2.1) of the bunch, plus the most visually appealing display of today's typical web pages, NetSurf is one of the few browsers to offer JavaScript support. However, this support option needs to be explicitly activated in the settings. The browser also uses an older Mozilla JavaScript library. This can sometimes lead to difficulty with web pages that make heavy use of JavaScript.

If you try to access Gmail with NetSurf, you will see an "unknown browser" error message. Only the HTML version of the site will load. Google Maps appears as a white page. NetSurf crashes when visiting OpenStreetMap. NetSurf renders Github without a problem when JavaScript is disabled. With JavaScript enabled, project page take an eternity to load even on a computer which has a 2GHz CPU and 4 GB RAM.

Otherwise, NetSurf shines with its numerous settings, built in ad and pop up blockers (which must be manually activated) and a loading bar (Figure 1). NetSurf is the only lean browser which supports the well known key combinations [Ctrl]+[+] and [Ctrl]+[-] for changing font size. These have been adopted from the major browsers.

Figure 1: NetSurf with multiple open tabs. Tabs can be arranged at the top or at the bottom.

In addition to the GTK version, NetSurf is also available as a Framebuffer version, netsurf-fb, providing a graphical interface on the Linux console. However, you will usually need to explicitly load the Framebuffer kernel driver and modify the access rights. On the test computer, we used modprobe tridentfb to load the driver. You can permanently activate the driver via an entry in the /etc/modules file. During testing however, NetSurf displayed a black screen on the console before crashing.


Dillo is a web browser for X that is also under active development. It is not based on GTK, but instead on the leaner Fast Light Toolkit (FLTK). As a result, many elements of the user interface (Figure 2) may seem unusual. Currently Version 3.0.5 is available. Developers are working on version 3.1.

Figure 2: Dillo with multiple open tabs. The bug symbol to the lower right signals the number of HTML errors that have been found on the page.

Dillo provides limited support for CSS 2. This permits the browser to render modern web pages in a more appealing fashion than most of the other browsers discussed here. However, it cannot compete with the quality of NetSurf. Still, Dillo needs only about a quarter of the resources used by NetSurf under similar conditions. It ialso takes up only 1.3 MB of space on the disk. Just as with NetSurf, the user has many settings options. These include everything from the size of the navigation buttons to the detailed settings of the renderer and more. Therefore it makes sense to work on the configuration file dillorc

Dillo displays the number of embedded images it is loading during a page build. It also shows the size of the page that has been downloaded, and how many HTML errors it contains. There is one small issue however. By default, Dillo issues numerous debugging messages in the terminal where it has been invoked. When called via a menu in the operating system, you won't notice this.

Buy this article as PDF

Express-Checkout as PDF

Pages: 5

Price $2.95
(incl. VAT)

Buy Raspberry Pi Geek

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content