qutebrowser is a free, open source browsers & extensions project written in Python and released under GPL-3.0. It has 11,693 GitHub stars, 1,129 forks and 1,335 open issues, and was last pushed 4 days ago. On this registry it ranks #35 of 65 tracked projects in Browsers & Extensions, with 5 head-to-head comparisons available.

What is qutebrowser?

qutebrowser is a free, GPL-3.0-licensed, keyboard-driven browser with a minimal GUI, built on Python and Qt, for people who want vim-style keyboard control of the web rather than a mouse.

What it is

qutebrowser is a browser with a minimal graphical interface in which nearly every action is driven from the keyboard. It is written in Python and built on Qt, and it lives in the Python and Qt ecosystem as a desktop application rather than a library or a service. Rendering comes from QtWebEngine, with QtWebKit named as an alternative backend, and the surrounding stack draws on QtCore/qtbase, QtQuick, QtSQL, QtDBus and QtOpenGL. The project describes itself as free software licensed under the GPL, and its runtime requirements are Python 3.10 or newer together with either Qt 6.2.0 or newer or Qt 5.15.0 or newer.

The concrete problem it solves is the loss of keyboard flow in ordinary browser interfaces. Instead of reaching for a mouse or trackpad to follow a link, switch tabs or dismiss a prompt, the user stays on the keyboard, in the same spirit as vim. qutebrowser states directly that it was inspired by other browsers and addons, specifically dwb and Vimperator/Pentadactyl, which is the niche it occupies: a full desktop browser with a command surface rather than a conventional toolbar-and-menu-shell layout.

Key capabilities

  • Keyboard-focused browsing with a minimal GUI, so the interface itself does not consume screen space or demand pointer input.
  • QtWebEngine as the rendering engine, with QtWebKit available as an alternative when building against Qt 5.
  • Bundled :report command for filing bugs, alongside an automatic crash dialog.
  • Completion interface for typed input, shown in doc/img/completion.png.
  • Hint mode for selecting page elements from the keyboard, shown in doc/img/hints.png.
  • Download handling with its own interface, shown in doc/img/downloads.png.
  • Runs against a documented dependency set: Python 3.10+, Qt 6.2.0+ or 5.15.0+, QtQuick, QtSQL, QtOpenGL, and QtDBus (a DBus connection at runtime is optional).

Who uses it and how

  • Keyboard-centric desktop users who want vim-like navigation as the primary way to browse, rather than an optional addon on top of a pointer-first interface.
  • Vim users and people coming from dwb, Vimperator or Pentadactyl, for whom qutebrowser is the continuation of that workflow in a maintained Qt-based browser.
  • Users on distribution or self-built installs who can satisfy the stated dependency list of Python 3.10 or newer plus Qt with QtWebEngine.
  • Bug reporters and testers who file issues through the built-in :report command, the automatic crash dialog, the GitHub issue tracker, or the mailing list at [email protected].
  • Security researchers, who are directed to [email protected], GPG ID 0x916EB0C8FD55A072, or GitHub private vulnerability reporting rather than the public tracker.

Getting started

Downloads are published on the GitHub releases page, and the doc/install.asciidoc file carries the detailed instructions for getting qutebrowser running on the various supported platforms.

How it compares

No list of paid products is given for this project, so the comparison stays inside the niche the facts name. qutebrowser sits alongside dwb and Vimperator/Pentadactyl, the two projects its README credits as inspirations, and it shares their keyboard-first premise. The difference the facts support is stack and licensing: qutebrowser is a GPL-licensed browser written in Python and running on Qt and QtWebEngine, rather than an addon attached to a host browser.

When to use it — and when not to

Anyone installing qutebrowser must supply the runtime it documents: Python 3.10 or newer, a Qt version of 6.2.0 or newer or 5.15.0 or newer, and the QtWebEngine module among QtCore/qtbase, QtQuick, QtSQL, QtOpenGL and QtDBus, with the DBus connection itself optional at runtime. It is the wrong choice for someone who wants a conventional pointer-driven browser or who cannot install and maintain that Qt and Python stack on the target machine. Two limitations are visible in the facts: the tracker carries 1335 open issues, and the README states that the primary maintainer, The-Compiler, works on the project only part-time and is funded by donations, so support and pace depend on that funding continuing.

project readme (upstream, from github) — read inline

// SPDX-License-Identifier: GPL-3.0-or-later

// If you are reading this in plaintext or on PyPi: // // A rendered version is available at: // https://github.com/qutebrowser/qutebrowser/blob/main/README.asciidoc

qutebrowser

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

image:https://github.com/qutebrowser/qutebrowser/workflows/CI/badge.svg["Build Status", link="https://github.com/qutebrowser/qutebrowser/actions?query=workflow%3ACI"] image:https://codecov.io/github/qutebrowser/qutebrowser/coverage.svg?branch=main["coverage badge",link="https://codecov.io/github/qutebrowser/qutebrowser?branch=main"]

link:https://www.qutebrowser.org[website] | link:https://blog.qutebrowser.org[blog] | https://github.com/qutebrowser/qutebrowser/blob/main/doc/faq.asciidoc[FAQ] | https://www.qutebrowser.org/doc/contributing.html[contributing] | link:https://github.com/qutebrowser/qutebrowser/releases[releases] | https://github.com/qutebrowser/qutebrowser/blob/main/doc/install.asciidoc[installing] // QUTE_WEB_HIDE_END

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.

// QUTE_WEB_HIDE 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 https://github.com/sponsors/The-Compiler/[GitHub Sponsors page] or https://github.com/qutebrowser/qutebrowser/blob/main/README.asciidoc#donating[alternative donation methods] 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! // QUTE_WEB_HIDE_END

Screenshots

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

Downloads

See the https://github.com/qutebrowser/qutebrowser/releases[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 ways:

Please report security bugs to [email protected] (or if GPG encryption is desired, contact [email protected] with GPG ID https://www.the-compiler.org/pubkey.asc[0x916EB0C8FD55A072]).

Alternatively, https://github.com/qutebrowser/qutebrowser/security/advisories/new[report a vulnerability] via GitHub's https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability[private reporting feature].

Requirements

The following software and libraries are required to run qutebrowser:

On macOS, the following libraries are also required:

The following libraries are optional:

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

Donating

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 https://github.com/sponsors/The-Compiler/[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 https://stripe.com/[Stripe] to accept payment via credit cards 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 mailto:[email protected][get in touch] for details.

Authors

qutebrowser's primary author is Freya Bruhin (The Compiler), but qutebrowser wouldn't be what it is without the help of https://github.com/qutebrowser/qutebrowser/graphs/contri

readme truncated — read the full docs on github

Frequently asked questions

Is qutebrowser free to use?

qutebrowser is open source under the GPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does qutebrowser do?

A keyboard-driven, vim-like browser based on Python and Qt.

What is qutebrowser written in?

qutebrowser is primarily written in Python. Its source is publicly available at https://github.com/qutebrowser/qutebrowser, and it has 11,693 GitHub stars.