qutebrowser A keyboard-driven browser.


qutebrowser is a keyboard-focused browser with a minimal GUI. It’s based on Python and PyQt5 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.

There’s also a announce-only mailinglist at qutebrowser-announce@lists.qutebrowser.org (the announcements also get sent to the general qutebrowser@ list).

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.

On Windows, colorama is needed to display colored log output.

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

  • Ryan Roden-Corrent

  • Jan Verbeek

  • Jakub Klinkovský

  • Antoni Boucher

  • Lamar Pavel

  • Marshall Lochbaum

  • Bruno Oliveira

  • thuck

  • Martin Tournoij

  • Imran Sobir

  • Alexander Cogneau

  • Felix Van der Jeugt

  • Daniel Karbach

  • Kevin Velghe

  • Raphael Pierzina

  • Joel Torstensson

  • Patric Schmitz

  • Tarcisio Fedrizzi

  • Jay Kamat

  • Claude

  • Philipp Hansch

  • Fritz Reichwald

  • Corentin Julé

  • meles5

  • Panagiotis Ktistakis

  • Artur Shaik

  • Nathan Isom

  • Thorsten Wißmann

  • Austin Anderson

  • Jimmy

  • Niklas Haas

  • Maciej Wołczyk

  • Clayton Craft

  • sandrosc

  • Alexey "Averrin" Nabrodov

  • pkill9

  • nanjekyejoannah

  • avk

  • ZDarian

  • Milan Svoboda

  • John ShaggyTwoDope Jenkins

  • Peter Vilim

  • Jacob Sword

  • knaggita

  • Oliver Caldwell

  • Nikolay Amiantov

  • Julian Weigt

  • Tomasz Kramkowski

  • Sebastian Frysztak

  • Julie Engel

  • Jonas Schürmann

  • error800

  • Michael Hoang

  • Liam BEGUIN

  • Daniel Fiser

  • skinnay

  • Zach-Button

  • Samuel Walladge

  • Peter Rice

  • Ismail S

  • Halfwit

  • David Vogt

  • Claire Cavanaugh

  • rikn00

  • kanikaa1234

  • haitaka

  • Nick Ginther

  • Michał Góral

  • Michael Ilsaas

  • Martin Zimmermann

  • Marius

  • Link

  • Jussi Timperi

  • Cosmin Popescu

  • Brian Jackson

  • sbinix

  • rsteube

  • neeasade

  • jnphilipp

  • Yannis Rohloff

  • Tobias Patzl

  • Stefan Tatschner

  • Samuel Loury

  • Peter Michely

  • Panashe M. Fundira

  • Lucas Hoffmann

  • Larry Hynes

  • Kirill A. Shutemov

  • Johannes Altmanninger

  • Jeremy Kaplan

  • Ismail

  • Iordanis Grigoriou

  • Edgar Hipp

  • Daryl Finlay

  • arza

  • adam

  • Samir Benmendil

  • Regina Hug

  • Penaz

  • Matthias Lisin

  • Mathias Fussenegger

  • Marcelo Santos

  • Marcel Schilling

  • Joel Bradshaw

  • Jean-Louis Fuchs

  • Franz Fellner

  • Eric Drechsel

  • zwarag

  • xd1le

  • rmortens

  • oniondreams

  • issue

  • haxwithaxe

  • evan

  • dylan araps

  • caveman

  • addictedtoflames

  • Xitian9

  • Vasilij Schneidermann

  • Tomas Orsava

  • Tom Janson

  • Tobias Werth

  • Tim Harder

  • Thiago Barroso Perrotta

  • Steve Peak

  • Sorokin Alexei

  • Simon Désaulniers

  • Rok Mandeljc

  • Noah Huesser

  • Moez Bouhlel

  • MikeinRealLife

  • Lazlow Carmichael

  • Kevin Wang

  • Ján Kobezda

  • Justin Partain

  • Johannes Martinsson

  • Jean-Christophe Petkovich

  • Helen Sherwood-Taylor

  • HalosGhost

  • Gregor Pohl

  • Eivind Uggedal

  • Dietrich Daroch

  • Derek Sivers

  • Daniel Lu

  • Daniel Jakots

  • Arseniy Seroka

  • Anton Grensjö

  • Andy Balaam

  • Andreas Fischer

  • Amos Bird

  • Akselmo

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 contributing to the crowdfunding.

  • 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.