uzbl – The Stripped Down Browser

I am trying out the uzbl browser for last couple of days. It follows the unix philosophy to strip down a browser of everything else other than visiting the web sites. Everything else, even the management of cookies, bookmarks, history and downloads is outsourced to external scripts. It departs radically from the other browsers by using vim-like modes to make it keyboard heavy. So much so that you will not find any menus, icons or buttons. I have been using vimperator for a while, but with uzbl the absence of features has helped it gain a lot of speed and agility.

I also think that this outsourcing model will make uzbl more programmable and reusable. I quickly hacked a one-liner script to post to twitter.


curl –basic –user “<username>:<password>” –data-ascii “status=$8 $6” “http://twitter.com/statuses/update.json”

This script will post your message to twitter with link of the current web page you are surfing. I have bound this script to the command \tw in the configuration file. Now I can type \tw "my twitter message" in the command mode to post to twitter. This is because uzbl exports certain variables to the scripts so that the browser can be extended.

Another example,


curl “https://<username>:<password>@api.del.icio.us/v1/posts/add?&url=$6&description=$7&tags=$8&replace=no”

Now I use \dlcs "my tags" to bookmark the current page on delicious.

uzbl is still in alpha. It might be too early to say whether it will be popular or not, but I think uzbl will make a big difference by its outsourcing model. You can quickly build your own scripts, use context given by uzbl and do whatever you want to do with it. This is like building Firefox extensions, but without having to learn its framework or technology.

uzbl is not even alpha yet, but it is already a very extensible wrapper over webkit. Give it a try if you have some time on your hands. It might not be convenient or simple in the beginning, but it can get quite interesting.

Discussion [Participate or Link]

  1. RomanT said:

    If only I could build it for OSX…

  2. Dieter_be said:

    Those are pretty cool examples. I suggest you add them @ http://www.uzbl.org/wiki/scripts

  3. Rohit said:

    Hey a couple of screenshots would help 🙂

  4. Anonymous said:

    Why use slow interactive shell like “#!/bin/bash” for your scripts? They should work just fine with normal “#!/bin/sh” (don’t have Bashishms).

    Using a “kitchensink” shell for the scripts seems contrary to the Uzbl philosophy. 🙂

  5. Ryan Aghdam said:

    Thank you, it works very well.

  6. IvarTJ said:

    @Rohit: The only visual thing that marks uzbl is a bar at the bottom of the window, which may be hidden by pressing “t”

    Otherwise you just see the page.

    I have a little trouble finding proper documentation – some I have found on the the official website, other things I have found on the Arch wiki, and yet other things I have found in the thread on the Arch forums that started this project.

Say your thought!

If you want to use HTML you can use these tags: <a>, <em>, <strong>, <abbr>, <code>, <blockquote>. Closing the tags will be appreciated as this site uses valid XHTML.



Abhijit Nadgouda
iface Consulting
+91 9819820312
My bookmarks


This is the weblog of Abhijit Nadgouda where he writes down his thoughts on software development and related topics. You are invited to subscribe to the feed to stay updated or check out more subscription options. Or you can choose to browse by one of the topics.