These days, it's more important than ever to find a good web browser: one that's easy to use, has the functionality you want, and, most importantly, is reasonably secure. It's also a good idea to consider the privacy features the browser has too.

Too many of the popular browsers have privacy issues (Chrome sharing info with Google, Edge sharing info with Microsoft, Brave sharing info with...).

Additionally, with my keyboard-driven window manager on my system (Qtile), I wanted a keyboard driven browser too.

Enter Qutebrowser.


I'd used Chrome and Chromium for a long time. I figured that Google probably already knows everything about me given that I host my email on Gmail, I have Google speakers in my house, and I have a Google tracking device in my pocket. So what's the difference if I use Chrome or something else?


I haven't been much of a Firefox fan since Chrome first came out. Firefox was supposed to be the "lite, fast" version of Mozilla's Browser years ago, but it too succumbed to bloat. And the way the company has been run recently, I haven't really wanted to use their products.

Tiling Window Manager and the Keyboard

As I mentioned, I've been using Qtile, a keyboard-driven, tiling window manager. And it was always weird for me to be able to do most of everything on my computer with the keyboard only to have to reach for the mouse to use one of my most-used apps (the browser).

There are plugins for both Chrome-based and Firefox-based browsers that allow for keyboard driven browsing (I used Vimperator back in the day), but they're all janky.


Qutebrowser doesn't use Vim-navigation as a plugin -- it was designed for it. The "Qute" part of the name comes from the Qt toolkit used to build its interface. The browser engine uses Chrome's engine, so it works with what Chrome works with.

Qutebrowser's interface is pretty sparse: a small tab bar at the top and a status line at the bottom. The keyboard shortcuts are largely inspired by the Vim text editor ('o' opens a URL, 'O' opens a URL in a new tab, 'wo' opens a URL in a new window).

It takes some getting used to, but once you do, it's extremely flexible to use. If I'm primarily using my keyboard, flipping back and forth between my terminal and my browser, Qutebrowser works great. And if I'm taking a break and leisurely browsing with my mouse, the scroll wheel works too.

How do you "click" with the keyboard? Well, you use hints. When I'm viewing a web page, I can press 'f' and all of the visible links get a one, two, or three (depending on the number of links) code to press. When I press those keys, the browser does the thing (navigates to the link, enters the field, presses the button, ...).

Biggest Issues with Qutebrowser


Even though Qutebrowser uses Chrome's engine, it does not use Chrome's extensions. So you can't install things like the Bitwarden (password manager) browser extension. That can make entering your passwords into websites a bit difficult. But there are solutions. I'm using Bitwarden Rofi Menu as an interface to Bitwarden. When I go to a website that requires me to enter my username/password, I press the keyboard combination (Alt+Shift+b) and Bitwarden Rofi Menu prompts me for my Bitwarden passphrase, then I type to search for the password entry I need and press Alt+1 to have the username and password automatically typed into the browser window. Once you get used to it, it flows really nicely (all with the keyboard).


There is no sense of sharing bookmarks between browsers.


The absolute hardest thing to get used to with Qutebrowser is the modes. Just like with the Vim editor, Qutebrowser has different modes.

Normal mode

This is regular browsing. The keys on the keyboard don't type things, they perform actions. Like 'f' brings up hints, 'o' opens a URL, 'd' closes a tab, 'm' adds a quickmark bookmark, and so on.

Hint mode

After pressing 'f', links have a key code overlaid above them that can be typed to interact with that link/object. So the keys on the keyboard interact with the objects on the page.

Insert mode

This is the mode when you type into a field (like sending a message in Gmail or responding to a chat message).

When you're in Insert mode, the status bar turns green and it clearly says "Insert mode" at the bottom.


The frustration comes when you click in an input field on a web page and Qutebrowser doesn't automatically switch you to Insert mode. Then you start typing, but instead of typing words to in reply to your friend's email, you're typing in Qutebrowser commands (like closing all of your tabs, quitting the application, creating quickmarks, etc).

This happens to me less and less, but it's really jarring when it happens. I just noticed tonight that I do have a few quickmarks I don't remember creating (so I must have been typing commands when I meant to be replying to an email and created a quickmark on the page I was on -- probably before I accidentally closed it with the 'd' key).


Overall, I love Qutebrowser. I'm generally frustrated when I have to use a traditional browser on a Chromebook or my phone.

I've been able to do some minor customizations that I'm going to write some articles about in the future.

Published Wed Nov 24 2021 by Mike Erdely
[ linux ]