A comparison of text-based browsers

Enough mamby-pamby housekeeping posts. It’s time to put some meat on the table.

I’m going to borrow an idea for a post from persea, who suggested taking a look at the running weight of several browsers — specifically text-only browsers — for a comparison.

Because in the same way that all graphical browsers are not equal, all text-based browsers are not equal. And if you are working on a machine with little overhead, that can be important.

Like everything else I discuss here, your preference for one particular program or another is paramount. My goal is not to prosletyze, but rather to take a somewhat-unbiased snaphot, for educational purposes.

Our guinea pigs today come in six flavors, and some of these hearken back so far into the history of online computing that I swear it’s 1988 again:

elinks links
lynx netrik
retawq w3m

I’m concerned strictly with text-based interfaces here, so things like links2 and the image support patch for w3m are out of the contest. Sorry, wait for the next contest. ;)

Our judges today will be the python memory script from summer a year ago. Because this is all done in the name of science, of course. :twisted:

Let’s get started. First, elinks, by virtue of starting with an E. This is done in alphabetical order, you know.

I should say up front that elinks is what I prefer on a day to day basis, and if that skews the results or my presentation, I’ll apologize up front.

But my perspective on the issue says I shouldn’t have to. I like elinks because it pushes hard to mimic the features and behavior of run-of-the-mill graphical browsers.

So it has tabs, an on-board download manager, a replete bookmarking and history system, more options than you can shake a stick at, and a vicious array of configuration settings.

So yes, I’m partial to the first on one the list, but that’s just life. To be fair, it’s a bit heavy and can be quite sluggish at times.

It’s a tradeoff for me though: Yes, it can take a while longer to load a page. But I get more goodies with elinks than with some other browsers.

Next up is links — straight links, with no added fillips. I built this one myself, stripping out things like support for X11, Javascript and so forth.

elinks and links are obvious cousins; even the menus and line-drawing options are the same. I’ve never tried to cram the options or settings for one into the system of the other, and I doubt it would work.

On the other hand, learning one is easy if you know the other, and considering that links recoups some speed when compared with its relative, it might be worth learning one, to know both.

links has a few other progeny you should be aware of: links-hacked drags some features into the links corpus, while links2 is an offshoot that makes the leap to graphical arenas. Albeit framebuffer driven and somewhat basic.

Next is lynx, which is an obvious pun but a clever name. Lynx does a lot of the things elinks does, and does a fairly quick and clean job doing it.

I found only one options page and it is very easy to navigate. In fact, one of the things I liked best about lynx was it’s flat approach to configuration. Everything is right there, and easy to control.

That being said, lynx probably has the most configuration options at the command line of all the six listed here. Looking over the --help list, it seems like just about anything can be turned on or off … even turning things on or off.

Number Four on the list is netrik, and one I admit I hadn’t used before today. netrik is very light and very sparse, and many of the features or frills that others have, netrik seems to avoid.

Which is most likely a good thing, because the ultimate feel of netrik is more of a pager and less of a browser. (Bonus points for using the names of three pagers in a sentence about pagers.)

If you’re not into pagers or think I’m talking about the beepy thing on your belt, you might have a hard time understanding that. Let me put it into different terms.

If you can imagine a browser that just spits out the text of a page and lets to step through the information little by little … that’s what netrik feels like.

Funny: It sounds like something Apple would bundle up in their latest gadget, fete as a major innovation and win kudos from fanboys everywhere. Oh wait, they already did that.

retawq is next, and probably the best thing I can mention about retawq is that it is so small and so light that one of my favorite distributions that I don’t use — ttylinux — keeps it on board as its sole application.

retawq is a speed demon even when compared to the other five in this list, and while it doesn’t do a lot of the fun stuff (or necessary stuff) that most people probably want, it’s hard to find something to complain about.

You can see in the screenshot that retawq, like netrik, stumbles a little when it comes to specialized characters, but it doesn’t impede the main function — getting in and around the web.

So personally I’m willing to forgive that teeny speck of inconsistency and rank this one alongside its predecessor as a very very light solution to the task.

Last but not least is w3m, and with this entry we’re back among top-rung feature-filled text-based browser applications. w3m comes by default in a lot of Linux distributions.

And for that reason, is usually (in my experience anyway) the one text-based browser everyone seems to know about. The sad part of that popularity is people are usually trying to fix something when they’re using it.

So it sometimes rides the ignominy of a failed X session, or comes to the rescue when something video-ish goes kaput. And it might be that it bears a little of the ill-will of those adventures.

Be that as it may, w3m makes it easy to browse — and this time I mean browse, not just page — in an easy fashion. A simple combination of arrow and tab keys will have you surfing in no time.

And with that, this quick rundown is finished. I can tell you a lot more about elinks (and probably, by extension links) than the others; if you’re more familiar with one of the other four, please share.

Now for the moment of truth: How they size up against one another. Just to be clear:

  • The host machine was this one, with a custom installation of Crux 2.6,
  • w3m and lynx were the default versions built from the Crux ports repository,
  • elinks was a custom version bumped to the prerelease beta,
  • I adjusted the Pkgfile for links to remove graphic support, and
  • retawq and netrik were converted from AUR PKGBUILDs.

Here’s what our judge had to say about the experience:

 Private  +   Shared  =  RAM used	Program 

104.0 KiB +  35.5 KiB = 139.5 KiB	init
160.0 KiB +  20.5 KiB = 180.5 KiB	dhcpcd
476.0 KiB + 128.5 KiB = 604.5 KiB	retawq
540.0 KiB +  93.0 KiB = 633.0 KiB	netrik
356.0 KiB + 280.5 KiB = 636.5 KiB	udevd (3)
752.0 KiB + 205.0 KiB = 957.0 KiB	screen-4.0.3 (2)
844.0 KiB + 178.0 KiB =   1.0 MiB	ssh
  1.5 MiB + 100.5 KiB =   1.6 MiB	links
  1.6 MiB + 178.0 KiB =   1.8 MiB	w3m
  2.1 MiB + 141.5 KiB =   2.2 MiB	elinks
  2.0 MiB + 172.5 KiB =   2.2 MiB	lynx
  3.1 MiB + 998.0 KiB =   4.1 MiB	bash (10)
                         15.9 MiB

 Private  +   Shared  =  RAM used	Program 

retawq is the clear winner when it comes to running with a light profile, although it’s keeping ahead of netrik only by a tiny fragment.

Meanwhile, the four browsers with more options and features are definitely riding higher on the list than those two. links and w3m have the middle ground for a megabyte-and-a-half plus-or-minus.

And the two I would probably suggest, just by virtue of usability and familiarity take the upper end of the spectrum, with a massive 2.2Mb consumed, for one page of the Web.

Speed is relative, but at 120Mhz, there is a distinct difference between the pace of retawq versus the pace of elinks. Particularly with larger, heavier pages like Wikipedia, where elinks can take a minute or two to render a single entry.

So as you might imagine, memory profile tends to mirror speed and performance, in my opinion.

And there you have it. My advice would probably be to keep a high-end browser and a low-end browser on hand, and use a tool suited to the job.

That decision should of course be tempered against the hardware you’re using.

And now, purely as torture for anyone who has read this far, I give you the obvious and clear winner over all others in this category:

Ladies and gentlemen, may I present the worst possible browsing experience with a minimum of resources:

curl kmandla.wordpress.com | dehtml -p -s | less

Happy surfing. :mrgreen:

About these ads

18 Responses to “A comparison of text-based browsers”

  1. 1 n2j3 2011/01/13 at 9:12 PM

    My vote goes to w3m; it’s omnipresent and doubles as a pager. For users addicted to vim keybindings, this will give you similar ones in w3m http://d.hatena.ne.jp/eiiches/20100531/

  2. 2 n2j3 2011/01/13 at 9:14 PM

    oops, forgot to mention that w3m’s keymap config is located in ~/.w3m/keymap . Excuse the double post and if you can, merge and delete :) thanks.

  3. 3 John 2011/01/14 at 12:56 AM

    I use lynx as a “get me pretty web text now” kind of command:

    lynx -dump http://beer.com > beer.txt

    It formats tables and so forth into good old fashioned fixed-width terminal text. Great for testing or for further processing.

  4. 4 Jose Catre-Vandis 2011/01/14 at 9:24 AM

    I had to install curl, but the dehtml pipe didn’t work, so then I had to go off and find it, complie and install it. ;)

  5. 5 LeoSolaris 2011/01/14 at 10:17 AM

    Well… now I have a coding problem to toy with in dehtml… for some reason the way it wanted to make locale changes was denied, so I violated makepkg’s warning and used the –asroot flag. It still failed with an odd failure to find something.

    Now, I must figure out why, so I can see what some random anonymous person on the Internet was talking about… No, I am not a geek… not at all! Why do you ask?

  6. 6 mulenmar 2011/01/15 at 4:40 PM

    Istributions? I guess those use the Inux kernel with NU userspace tools? :P Es, hat oke ucked. Orry. :D

    Anyway, ELinks can be compiled to be incredibly thin. I’ve only tested it as far back as on a Pentium II 366MHz system with 32MB RAM, but it ran extremely fast there.

    Of course, your post on swapping the user agent string (https://kmandla.wordpress.com/2009/11/24/user-agent-swap-boosts-elinks-speed/) helps a great deal, too. ;)

    • 7 K.Mandla 2011/01/15 at 8:06 PM

      Ah, I missed that one. Thanks.

      I am not sure why, although I’ve always just blamed it on processor speed. Opening a Wikipedia page in elinks can take a minute or two, at 120Mhz. Not every site is like that, but they are common enough to be a little annoying.

      • 8 mulenmar 2011/01/16 at 11:27 AM

        I remember one or two sites being slow to load in Elinks, but the one I remember is the Ubuntu forums. Worked fine when I changed the user agent string, and slightly better when I blacklisted the ipv6 module. :)

  7. 9 Kevin 2011/01/16 at 8:20 AM

    Out of curiosity do you have CSS enabled on elinks?

    I found that it causes some pages to load very slowly.
    I just enabled it to test and it seems to only cause a problem on bigger pages (I couldn’t find a wikipidia page that would load slowly but engadget.com (a very large site) was slow but near instant with CSS disabled).

    This is on a wired broadband connection and a 2.5 Ghz dual core machine with Arch and no X (so I’m guessing it’s not my system resources).

  8. 10 technologyunit 2011/01/19 at 8:56 AM

    After you wrote this I when and installed links. (I had used it in the past) and found that it is actually a lot of fun to just browse the internet with out distractions. Thanks for bringing something back from my youth.

  9. 11 rejistania 2011/02/07 at 4:35 AM

    Wow! Awesome article! I personally am partial to elinks but will look at retawq now.

  10. 12 Effe 2011/02/07 at 8:59 PM

    Ladies and gentlemen, may I present the worst possible browsing experience with a minimum of resources:

    curl kmandla.wordpress.com | sed s// /g | less

  11. 14 Daniel 2011/02/09 at 12:50 AM

    Hey, next time, please have a paragraph at the end with a clear conclusion of the winner. I skimmed the article and didn’t glean anything from it. The last sentence “And now, purely as torture for anyone who has read this far, I give you the obvious and clear winner over all others in this category:” ironically featured an image which wouldn’t have been viewable in any of the browsers mentioned, not to mention the actual image didn’t seem to contain any useful information that the sentence promised.

  1. 1 Links 15/1/2011: 1-Second Linux Boot, Firefox 4 Beta 9 | Techrights Trackback on 2011/01/16 at 3:27 AM
  2. 2 Going Old School « Freed Up Thoughts Trackback on 2011/01/23 at 7:17 AM
  3. 3 … zu guter Letzt » F!XMBR Trackback on 2011/02/03 at 2:00 AM
  4. 4 Lazy Reading – DragonFly BSD Digest Trackback on 2011/02/14 at 9:54 AM

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Visit the Wiki!

Some recent desktops

May 6, 2011
Musca 0.9.24 on Crux Linux
150Mhz Pentium 96Mb 8Gb CF

May 14, 2011
IceWM 1.2.37 and Arch Linux
L2300 core duo 3Gb 320Gb

Some recent games

Apr. 21, 2011
Oolite on Xubuntu 11.04
L2300 core duo 3Gb 320Gb

Enter your email address to subscribe to this blog and receive notifications of new posts.

Join 405 other followers


This work is licensed under the GNU Free Documentation License. Please see the About page for details.

Blog Stats

  • 3,961,025 hits



Get every new post delivered to your Inbox.

Join 405 other followers

%d bloggers like this: