You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Florian Bruhin b3e7be5784 Fix coverage 2 days ago
.github ci: Update dependendicies 2 weeks ago
doc Handle OSError from adblock 2 days ago
misc requirements: Upgrade to pytest-bdd 6.0.0 2 days ago
qutebrowser Fix coverage 2 days ago
scripts Update changelog URLs 3 days ago
tests tests: Fix broken BDD definition 2 days ago
www Remove references to the GitHub matching fund 2 years ago
.bumpversion.cfg Release v2.5.2 2 weeks ago
.codecov.yml Update .codecov.yml 3 months ago
.coveragerc Revert "coverage: Show contexts by default" 1 month ago
.editorconfig Also bump up max line length in .editorconfig 2 years ago
.flake8 Update flake8 config for Python 3.6 3 months ago
.gitignore Add pylint_checkers build dir to .gitignore 8 months ago
.mypy.ini Drop python3.6 support. 3 months ago
.pydocstylerc Add a .pydocstylerc. 7 years ago
.pylintrc pylint: Remove outdated disables 4 weeks ago
.yamllint lint: Bump up eslint/yamllint line length to 88 2 years ago
LICENSE doc: Switch URLs to https 1 year ago Load icons via importlib.resources 3 months ago
README.asciidoc README.asciidoc: avoid HTML redirect for luakit website 3 weeks ago
pytest.ini ignore hypothesis warnings 2 months ago doc: Switch URLs to https 1 year ago
requirements.txt Update dependencies 3 days ago Drop python3.6 support. 3 months ago
tox.ini ci: Update Python versions 2 months ago


// If you are reading this in plaintext or on PyPi:
// A rendered version is available at:


image:qutebrowser/icons/qutebrowser-64x64.png[qutebrowser logo] *A keyboard-driven, vim-like browser based on Python and Qt.*

image:["Build Status", link=""]
image:["coverage badge",link=""]

link:[website] | link:[blog] |[FAQ] |[contributing] | link:[releases] |[installing]

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

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

**qutebrowser's primary maintainer, The-Compiler, is currently working
part-time on qutebrowser, funded by donations.** To sustain this for a long
time, your help is needed! See the[GitHub Sponsors page] for more
information. Depending on your sign-up date and how long you keep a certain
level, you can get qutebrowser t-shirts, stickers and more!


image:doc/img/main.png["screenshot 1",width=300,link="doc/img/main.png"]
image:doc/img/downloads.png["screenshot 2",width=300,link="doc/img/downloads.png"]
image:doc/img/completion.png["screenshot 3",width=300,link="doc/img/completion.png"]
image:doc/img/hints.png["screenshot 4",width=300,link="doc/img/hints.png"]


See the[github releases
page] for available downloads and the link:doc/install.asciidoc[INSTALL] file for
detailed instructions on how to get qutebrowser running on various platforms.

Documentation and getting help

Please see the link:doc/help/index.asciidoc[help page] for available documentation
pages and support channels.

Contributions / Bugs

You want to contribute to qutebrowser? Awesome! Please read
link:doc/contributing.asciidoc[the contribution guidelines] for details and
useful hints.

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

* Use the built-in `:report` command or the automatic crash dialog.
* Open an issue in the Github issue tracker.
* Write a mail to the[mailinglist] at[].

For security bugs, please contact me directly at, GPG ID[0x916eb0c8fd55a072].


The following software and libraries are required to run qutebrowser:

*[Python] 3.7 or newer
*[Qt] 5.12.0 or newer (5.12 LTS or 5.15 recommended, Qt 6 is
not supported yet) with the following modules:
- QtCore / qtbase
- QtQuick (part of qtbase or qtdeclarative in some distributions)
- QtSQL (part of qtbase in some distributions)
- QtDBus (part of qtbase in some distributions; note that a connection to DBus at
runtime is optional)
- QtOpenGL
- QtWebEngine, or
- alternatively QtWebKit (5.212) - **This is not recommended** due to known security
issues in QtWebKit, you most likely want to use qutebrowser with the
default QtWebEngine backend (based on Chromium) instead. Quoting the[QtWebKit releases page]:
_[The latest QtWebKit] release is based on [an] 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.12.0 or newer
for Python 3

On older Python versions (3.7/3.8), the following backports are also required:


The following libraries are optional:

*[adblock] (for improved adblocking using ABP syntax)
*[pygments] for syntax highlighting with `:view-source`
on QtWebKit, or when using `:view-source --pygments` with the (default)
QtWebEngine backend.
* On Windows,[colorama] for colored log
*[importlib_metadata] on Python 3.7,
to improve QtWebEngine version detection when PyQtWebEngine is
installed via pip (thus, this dependency usually isn't relevant for
*[asciidoc] to generate the documentation for the `:help`
command, when using the git repository (rather than a release).

See link:doc/install.asciidoc[the documentation] for directions on how to
install qutebrowser and its dependencies.


**qutebrowser's primary maintainer, The-Compiler, is currently working
part-time on qutebrowser, funded by donations.** To sustain this for a long
time, your help is needed! See the[GitHub Sponsors page] for more
information. Depending on your sign-up date and how long you keep a certain
level, you can get qutebrowser t-shirts, stickers and more!

GitHub Sponsors allows for one-time donations (using the buttons next to "Select a
tier") as well as custom amounts. **For currencies other than Euro or Swiss Francs, this
is the preferred donation method.** GitHub uses[Stripe] to accept
payment via credit carts without any fees. Billing via PayPal is available as well, with
less fees than a direct PayPal transaction.

Alternatively, the following donation methods are available -- note that
eligibility for swag (shirts/stickers/etc.) is handled on a case-by-case basis
for those, please[get in touch] for details.

* SEPA bank transfer inside Europe (**no fees**):
- Account holder: Florian Bruhin
- Country: Switzerland
- IBAN (EUR): CH13 0900 0000 9160 4094 6
- IBAN (other): CH80 0900 0000 8711 8587 3
- Bank: PostFinance AG, Mingerstrasse 20, 3030 Bern, Switzerland (BIC: POFICHBEXXX)
- If you need any other information: Contact me at
* PayPal:[CHF],[EUR],[USD].
**Note: Fees can be very high (around 5-40%, depending on the donated amounts)** - consider
using GitHub Sponsors (accepts credit cards or PayPal!) or SEPA bank transfers
* Cryptocurrencies:
- Bitcoin: link:bitcoin:bc1q3ptyw8hxrcfz6ucfgmglphfvhqpy8xr6k25p00[bc1q3ptyw8hxrcfz6ucfgmglphfvhqpy8xr6k25p00]
- Bitcoin Cash: link:bitcoincash:1BnxUbnJ5MrEPeh5nuUMx83tbiRAvqJV3N[1BnxUbnJ5MrEPeh5nuUMx83tbiRAvqJV3N]
- Ethereum: link:ethereum:0x10c2425856F7a8799EBCaac4943026803b1089c6[0x10c2425856F7a8799EBCaac4943026803b1089c6]
- Litecoin: link:litecoin:MDt3YQciuCh6QyFmr8TiWNxB94PVzbnPm2[MDt3YQciuCh6QyFmr8TiWNxB94PVzbnPm2]
- Others: Please[get in touch], I'd happily set up anything link:[supported by Ledger Live]


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.

image:doc/img/sponsors/macstadium.png["powered by MacStadium",width=200,link=""]
image:doc/img/sponsors/hsr.png["HSR Hochschule für Technik Rapperswil",link=""]


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/link:[yelo] (new icon)
* WOFall (original icon)
* regines (key binding cheatsheet)

Also, thanks to everyone who contributed to one of qutebrowser's
link:doc/backers.asciidoc[crowdfunding campaigns]!

Similar projects

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


*[vimb] (C, GTK+ with WebKit2)
*[luakit] (C/Lua, GTK+ with WebKit2)
*[Nyxt browser] (formerly "Next browser", Lisp, Emacs-like but also offers Vim bindings, QtWebEngine or GTK+/WebKit2 - note there was a[critical remote code execution in 2019] which was handled quite badly)
*[Vieb] (JavaScript, Electron)
*[surf] (C, GTK+ with WebKit1/WebKit2)
* Chrome/Chromium addons:[Vimium]
* Firefox addons (based on WebExtensions):[Tridactyl],[Vimium-FF]
* Addons for Firefox and Chrome:[Surfingkeys],[Link Hints] (hinting only)
* Addons for Safari:[Vimari]


*[dwb] (C, GTK+ with WebKit1,[unmaintained] -
main inspiration for qutebrowser)
*[webmacs] (Python, Emacs-like with
*[vimprobable] (C, GTK+ with
*[jumanji] (C, GTK+ with WebKit1)
*[conkeror] (Javascript, Emacs-like, XULRunner/Gecko)
*[uzbl] (C, GTK+ with WebKit1/WebKit2)
*[xombrero] (C, GTK+ with WebKit1)
*[Cream Browser] (C, GTK+ with WebKit1)
*[wyeb] (C, GTK+ with WebKit2)
* Firefox addons (not based on WebExtensions or no recent activity):[Vimperator],[Pentadactyl],[VimFx] (seems to offer a[hack] to run on modern Firefox releases),[QuantumVim],[Vim Vixen] (ESR only),[VVimpulation],[Krabby]
* Chrome/Chromium addons:[ViChrome],[Vrome],[Saka Key] ([unmaintained]),[cVim],[vb4c] (fork of cVim,[unmaintained]),[GleeBox]


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