Python JavaScript Gherkin HTML Shell CSS
Latest commit 8d22991 Feb 27, 2017 @The-Compiler The-Compiler Fix test_qt_args
Failed to load latest commit information.
.github Improve GitHub issue template Aug 5, 2016
doc Add a note about qute:settings on QtWebEngine to quickstart Feb 26, 2017
icons Add xpm version of the 32x32 png logo May 3, 2016
misc Update pip requirements Feb 24, 2017
qutebrowser Use double dashes for --qt-arg/--qt-flag Feb 27, 2017
scripts Another try at frozen pytest_benchmark Feb 19, 2017
tests Fix test_qt_args Feb 27, 2017
www make paths relative Feb 19, 2017
.appveyor.yml Remove PyPI envs from .appveyor.yml too Feb 9, 2017
.coveragerc Set source in .coveragerc. Oct 23, 2015
.editorconfig Add basic editorconfig for enforcing style Apr 6, 2016
.flake8 flake8: Ignore E722 Feb 5, 2017
.gitignore Add a QtWebEngine C++ testbrowser Nov 2, 2016
.pydocstylerc Add a .pydocstylerc. Jan 30, 2016
.pylintrc Fix lint Nov 4, 2016
.travis.yml Drop PyQt < 5.7.1 support for QtWebEngine Feb 17, 2017
CHANGELOG.asciidoc Fix changelog typos Feb 26, 2017
CONTRIBUTING.asciidoc Mention how to build the website in CONTRIBUTING Feb 19, 2017
COPYING Add GNU GPL Feb 6, 2014
FAQ.asciidoc Replace all GitHub links Feb 4, 2017
INSTALL.asciidoc Update OS X install instructions Feb 21, 2017 Adjust .eslint* paths in Aug 9, 2016
README.asciidoc Update docs Feb 25, 2017
codecov.yml Add a codecov.yml May 2, 2016
pytest.ini Don't make SSL resolve errors fail tests Feb 9, 2017
qutebrowser.desktop Add Keywords entry to comply with freedesktop guidelines Dec 10, 2016 Revert "[DONOTMERGE] Re-run Codecov" Dec 22, 2016
requirements.txt Various requirements updates Feb 5, 2017 Check pep257 via flake8. Feb 10, 2016
tox.ini Add a mkvenv-pypi environment to tox.ini Feb 25, 2017



qutebrowser logo A keyboard-driven, vim-like browser based on PyQt5 and Qt.

license badge version badge requirements badge Build Status AppVeyor build status coverage badge

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.


screenshot 1 screenshot 2 screenshot 3 screenshot 4


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

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, 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 [1].

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

  • Alexander Cogneau

  • Felix Van der Jeugt

  • Daniel Karbach

  • Martin Tournoij

  • Kevin Velghe

  • Raphael Pierzina

  • Joel Torstensson

  • Patric Schmitz

  • Tarcisio Fedrizzi

  • Claude

  • Corentin Julé

  • meles5

  • Philipp Hansch

  • Imran Sobir

  • Panagiotis Ktistakis

  • Artur Shaik

  • Nathan Isom

  • Thorsten Wißmann

  • Austin Anderson

  • Fritz Reichwald

  • Jimmy

  • Niklas Haas

  • Maciej Wołczyk

  • Spreadyy

  • Alexey "Averrin" Nabrodov

  • nanjekyejoannah

  • avk

  • ZDarian

  • Milan Svoboda

  • John ShaggyTwoDope Jenkins

  • Clayton Craft

  • Peter Vilim

  • knaggita

  • Oliver Caldwell

  • Julian Weigt

  • Tomasz Kramkowski

  • Sebastian Frysztak

  • Nikolay Amiantov

  • 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

  • Jussi Timperi

  • Cosmin Popescu

  • Brian Jackson

  • thuck

  • sbinix

  • rsteube

  • neeasade

  • jnphilipp

  • Tobias Patzl

  • Stefan Tatschner

  • Samuel Loury

  • Peter Michely

  • Panashe M. Fundira

  • Lucas Hoffmann

  • Link

  • Larry Hynes

  • Kirill A. Shutemov

  • Johannes Altmanninger

  • Jeremy Kaplan

  • Ismail

  • Edgar Hipp

  • Daryl Finlay

  • pkill9

  • arza

  • adam

  • Samir Benmendil

  • Regina Hug

  • Mathias Fussenegger

  • Marcelo Santos

  • Joel Bradshaw

  • Jean-Louis Fuchs

  • Franz Fellner

  • Eric Drechsel

  • zwarag

  • xd1le

  • rmortens

  • oniondreams

  • issue

  • haxwithaxe

  • evan

  • dylan araps

  • addictedtoflames

  • Xitian9

  • Tomas Orsava

  • Tom Janson

  • Tobias Werth

  • Tim Harder

  • Thiago Barroso Perrotta

  • Sorokin Alexei

  • Simon Désaulniers

  • Rok Mandeljc

  • Noah Huesser

  • Moez Bouhlel

  • Matthias Lisin

  • Marcel Schilling

  • Lazlow Carmichael

  • Kevin Wang

  • Ján Kobezda

  • Johannes Martinsson

  • Jean-Christophe Petkovich

  • Jay Kamat

  • Helen Sherwood-Taylor

  • HalosGhost

  • Gregor Pohl

  • Eivind Uggedal

  • Dietrich Daroch

  • Derek Sivers

  • Daniel Lu

  • Arseniy Seroka

  • Andy Balaam

  • Andreas Fischer

  • 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


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/, or online here.

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