A keyboard-driven browser.


qutebrowser is a keyboard-focused browser with a minimal GUI. It’s based on Python, PyQt5 and QtWebKit and free software, licensed under the GPL.

It was inspired by other browsers/addons like dwb and Vimperator/Pentadactyl.



See the github releases page for available downloads (currently a source archive, and standalone packages as well as MSI installers for Windows).

See INSTALL for detailed instructions on how to get qutebrowser running for various platforms.


In addition to the topics mentioned in this README, the following documents are available:

Getting help

You can get help in the IRC channel #qutebrowser on Freenode (webchat), or by writing a message to the mailinglist at qutebrowser@lists.qutebrowser.org.

Contributions / Bugs

You want to contribute to qutebrowser? Awesome! Please read the contribution guidelines for details and useful hints.

If you found a bug or have a feature request, you can report it in several ways:

For security bugs, please contact me directly at mail@qutebrowser.org, GPG ID 0xFD55A072.


The following software and libraries are required to run qutebrowser:

The following libraries are optional and provide a better user experience:

To generate the documentation for the :help command, when using the git repository (rather than a release), asciidoc is needed.

The following libraries are optional and provide colored logging in the console:

See INSTALL for directions on how to install qutebrowser and its dependencies.


Working on qutebrowser is a very rewarding hobby, but like (nearly) all hobbies it also costs some money. Namely I have to pay for the server and domain, and do occasional hardware upgrades
[It turned out a 160 GB SSD is rather small - the VMs and custom Qt builds I use for testing/developing qutebrowser need about 100 GB of space]

If you want to give me a beer or a pizza back, I’m trying to make it as easy as possible for you to do so. If some other way would be easier for you, please get in touch!


Contributors, sorted by the number of commits in descending order:

  • Florian Bruhin

  • Daniel Schadt

  • Antoni Boucher

  • Lamar Pavel

  • Bruno Oliveira

  • Alexander Cogneau

  • Martin Tournoij

  • Felix Van der Jeugt

  • Raphael Pierzina

  • Joel Torstensson

  • Ryan Roden-Corrent

  • Patric Schmitz

  • Claude

  • meles5

  • Tarcisio Fedrizzi

  • Artur Shaik

  • Nathan Isom

  • Thorsten Wißmann

  • Philipp Hansch

  • Kevin Velghe

  • Austin Anderson

  • Panagiotis Ktistakis

  • Alexey "Averrin" Nabrodov

  • avk

  • ZDarian

  • Milan Svoboda

  • John ShaggyTwoDope Jenkins

  • Jimmy

  • Peter Vilim

  • Clayton Craft

  • Oliver Caldwell

  • Jonas Schürmann

  • Jakub Klinkovský

  • skinnay

  • error800

  • Zach-Button

  • Halfwit

  • rikn00

  • kanikaa1234

  • Michael Ilsaas

  • Martin Zimmermann

  • Brian Jackson

  • sbinix

  • neeasade

  • jnphilipp

  • Tobias Patzl

  • Peter Michely

  • Link

  • Larry Hynes

  • Johannes Altmanninger

  • Samir Benmendil

  • Regina Hug

  • Mathias Fussenegger

  • Marcelo Santos

  • Jan Verbeek

  • Fritz V155 Reichwald

  • Franz Fellner

  • Corentin Jule

  • zwarag

  • xd1le

  • issue

  • haxwithaxe

  • evan

  • dylan araps

  • Xitian9

  • Tomasz Kramkowski

  • Tomas Orsava

  • Tobias Werth

  • Tim Harder

  • Thiago Barroso Perrotta

  • Stefan Tatschner

  • Sorokin Alexei

  • Samuel Loury

  • Matthias Lisin

  • Marcel Schilling

  • Johannes Martinsson

  • Jean-Christophe Petkovich

  • Jay Kamat

  • Helen Sherwood-Taylor

  • HalosGhost

  • Gregor Pohl

  • Eivind Uggedal

  • Daniel Lu

  • Arseniy Seroka

  • Andy Balaam

  • Andreas Fischer

The following people have contributed graphics:

  • Jad/yelo (new icon)

  • WOFall (original icon)

  • regines (key binding cheatsheet)

Thanks / Similar projects

Many projects with a similar goal as qutebrowser exist:

  • dwb (C, GTK+ with WebKit1, currently unmaintained - main inspiration for qutebrowser)

  • vimb (C, GTK+ with WebKit1, active)

  • vimprobable (C, GTK+ with WebKit1, dead)

  • surf (C, GTK+ with WebKit1, active)

  • luakit (C/Lua, GTK+ with WebKit1, not very active)

  • jumanji (C, GTK+ with WebKit1, not very active)

  • uzbl (C, GTK+ with WebKit1/WebKit2, active)

  • conkeror (Javascript, Emacs-like, XULRunner/Gecko, active)

  • lispkit (quite new, lisp, GTK+ with WebKit, active)

  • Vimperator (Firefox addon)

  • Pentadactyl (Firefox addon)

  • VimFx (Firefox addon)

  • cVim (Chrome/Chromium addon)

  • vimium (Chrome/Chromium addon)

  • ViChrome (Chrome/Chromium addon)

  • Vrome (Chrome/Chromium addon)

Most of them were inspirations for qutebrowser in some way, thanks for that!

Thanks as well to the following projects and people for helping me with problems and helpful hints:

Also, thanks to:

  • Everyone who had the patience to test qutebrowser before v0.1.

  • Everyone triaging/fixing my bugs in the Qt bugtracker

  • Everyone answering my questions on Stack Overflow and in IRC.

  • All the projects which were a great help while developing qutebrowser.


This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.


qutebrowser optionally uses pdf.js to display PDF files in the browser. Windows releases come with a bundled pdf.js.

pdf.js is distributed under the terms of the Apache License. You can find a copy of the license in qutebrowser/3rdparty/pdfjs/LICENSE (in the Windows release or after running scripts/dev/update_3rdparty.py), or online here.