Skip to content
A keyboard-driven, vim-like browser based on PyQt5.
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Adjust support issue template May 16, 2019
doc Enter insert mode for date/time inputs Jul 23, 2019
icons Resize SVG to comply with freedesktop standard Feb 12, 2019
misc Release v1.7.0 Jul 18, 2019
qutebrowser Enter insert mode for date/time inputs Jul 23, 2019
scripts Fix lint Jul 18, 2019
tests Search files in config directory with :config-source Jul 22, 2019
www Default to white background on website Jan 8, 2019
.appveyor.yml appveyor: Downgrade to Qt 5.12 Jul 15, 2019
.bumpversion.cfg Release v1.7.0 Jul 18, 2019
.codecov.yml Make codecov.yml hidden Sep 17, 2017
.coveragerc Configure for "if MYPY:" Dec 5, 2018
.editorconfig Add basic editorconfig for enforcing style Apr 6, 2016
.flake8 flake8: Ignore B011 in tests Jul 22, 2019
.gitattributes Add gitattributes for changelog Sep 15, 2018
.gitignore Merge remote-tracking branch 'origin/pr/4086' Jul 11, 2019
.pydocstylerc Add a .pydocstylerc. Jan 30, 2016
.pylintrc Disable bad-builtin pylint rule Apr 3, 2019
.pyup.yml Switch pyup to Mondays Aug 24, 2017
.travis.yml Use separate requirements files for different Qt versions Jul 16, 2019
LICENSE Fix more file move issues Sep 17, 2017 Update for NSIS changes Jul 16, 2019
README.asciidoc Update QtWebKit info Jul 20, 2019
mypy.ini mypy: Turn on strict_equality Apr 9, 2019
pytest.ini Enable QtWebEngine notification tests on >= 5.13 Jul 5, 2019 Update copyright for 2019 Feb 23, 2019
requirements.txt Update pyyaml from 5.1 to 5.1.1 Jun 24, 2019 Fix after changes Jul 11, 2019
tox.ini Remove old tox workaround Jul 18, 2019



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

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 and the INSTALL file for detailed instructions on how to get qutebrowser running on various platforms.


Getting help

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

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

If you’re a reddit user, there’s a /r/qutebrowser subreddit there.

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 0x916eb0c8fd55a072.


The following software and libraries are required to run qutebrowser:

  • Python 3.5 or newer (3.6 recommended)

  • Qt 5.7.1 or newer (5.12 recommended due to segfaults on media pages with Qt 5.13); support for < 5.9 will be dropped soon) with the following modules:

    • QtCore / qtbase

    • QtQuick (part of qtbase in some distributions)

    • QtSQL (part of qtbase in some distributions)

    • QtOpenGL

    • QtWebEngine, or

    • alternatively QtWebKit - only the updated fork (5.212) is supported. Note: The latest QtWebKit release is based on old WebKit revision with known unpatched vulnerabilities. Please use it carefully and avoid visiting untrusted websites and using it for transmission of sensitive data.

  • PyQt 5.7.0 or newer (5.13 recommended, support for < 5.9 will be dropped soon) for Python 3

  • pkg_resources/setuptools

  • pyPEG2

  • jinja2

  • pygments

  • PyYAML

  • attrs

The following libraries are optional:

  • cssutils (for an improved :download --mhtml with QtWebKit).

  • On Windows, colorama for colored log output.

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

See the documentation 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!

  • SEPA bank transfer inside Europe (no fee): Contact me for details

  • PayPal: thecompiler /

  • Bitcoin: 1PMzbcetAHfpxoXww8Bj5XqquHtVvMjJtE


Thanks a lot to MacStadium for supporting qutebrowser with a free hosted Mac Mini via their Open Source Project.

(They don’t require including this here - I’ve just been very happy with their offer, and without them, no macOS releases or tests would exist)

Thanks to the HSR Hochschule für Technik Rapperswil, which made it possible to work on qutebrowser extensions as a student research project.

powered by MacStadium HSR Hochschule für Technik Rapperswil


qutebrowser’s primary author is Florian Bruhin (The Compiler), but qutebrowser wouldn’t be what it is without the help of hundreds of contributors!

Additionally, the following people have contributed graphics:

  • Jad/yelo (new icon)

  • WOFall (original icon)

  • regines (key binding cheatsheet)

Also, thanks to everyone who contributed to one of qutebrowser’s crowdfunding campaigns!

Similar projects

Many projects with a similar goal as qutebrowser exist. Most of them were inspirations for qutebrowser in some way, thanks for that!




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
You can’t perform that action at this time.