Fact-checked by Grok 2 weeks ago

qutebrowser

qutebrowser is a free and open-source web browser designed for keyboard-focused navigation with a minimal graphical user interface. It is developed using Python and the Qt framework, primarily employing the QtWebEngine rendering engine based on Chromium for displaying web content, while optionally supporting the deprecated QtWebKit backend. Inspired by the Vim text editor as well as earlier browsers and extensions like dwb and Vimperator/Pentadactyl, qutebrowser provides vim-style key bindings for actions such as scrolling (using hjkl), following links via hints, and tab management, enabling efficient mouse-free operation. The project was initiated by primary developer Florian Bruhin with its initial commit on December 14, 2013, and achieved its first stable release (version 1.0.0) on October 12, 2017; as of November 2025, it has reached version 3.6.1, with ongoing part-time funded by community donations. qutebrowser is licensed under the GNU General Public License version 3 or later and is cross-platform, supporting , Windows, and macOS on systems with 3.9 or later and compatible versions. Key features include built-in ad blocking, session restoration, userscript support for extending functionality (such as integration with password managers), customizable key bindings and themes via a Python configuration file, and commands for tasks like searching, downloading, and quick-marking pages.

History

Origins and inspiration

qutebrowser was created by Florian Bruhin, known online as "The-Compiler," in late 2013 as a personal project aimed at addressing the shortcomings of existing keyboard-centric web browsers. At the time, Bruhin was frustrated with the instability and limitations of options like dwb, which was facing discontinuation due to challenges in transitioning to WebKit2, as well as alternatives such as uzbl and luakit that lacked desired features or ease of development. His goal was to build a more reliable, standalone browser that prioritized keyboard-driven navigation in a Vim-like style, avoiding the constraints imposed by browser extension APIs in tools like Firefox add-ons. The project drew primary inspiration from dwb, a minimal GTK-based browser emphasizing keyboard controls and a sparse graphical interface, as well as the extensions Vimperator and its successor Pentadactyl, which introduced Vim-inspired keybindings for efficient, mouse-free browsing. These influences shaped qutebrowser's core philosophy: a minimal that places keyboard primacy at the forefront, enabling users to perform most actions through commands and bindings without relying on graphical elements or external dependencies. By developing it as an independent application using and , Bruhin sought to create a flexible platform free from the evolving restrictions of host ecosystems, allowing for deeper customization and stability. Development began as a in December 2013, with Bruhin committing the initial code on . After roughly a year of iteration to refine basic functionality and integrate early rendering support, the first public release, 0.1, arrived on , 2014, marking qutebrowser's debut to the open-source community via . This timeline reflected Bruhin's part-time efforts to establish a solid foundation, focusing on core navigation and configuration features before broader adoption.

Release history

qutebrowser's development has followed a measured release cadence, with major versions typically arriving annually, supported by part-time maintenance from its primary developer, Florian Bruhin. The project began with an initial release focused on basic vim-like navigation using QtWebKit as the rendering backend. Over time, key milestones marked transitions in rendering engines, features, and platform support. The shift from the deprecated QtWebKit to QtWebEngine as the default backend occurred progressively starting in version 1.x, enabling better with modern web standards. was integrated in version 2.0 using a Rust-based parser inspired by , enhancing without external dependencies. PDF viewing support was added via the Apache-licensed library in version 1.11.1. The following table summarizes major milestone releases, their dates, and principal updates:
VersionRelease DateKey Updates
v0.1December 14, 2014Initial release with vim-like key bindings and QtWebKit backend.
v1.0.0October 12, 2017Stable core features, modern configuration system, and WebEngine as default backend.
v2.0.0January 28, 2021Integrated Rust-based , dropped support for < 5.12 and older OS versions (macOS < 10.14, Windows < 8.1).
v3.0.0August 18, 2023 6 support as default, dropped < 5.15 and older platforms (macOS < 11 Big Sur, Windows < 10 1607).
v3.4.0December 14, 2024Marked 11-year anniversary, full 6.8 support, on-demand clipboard permission prompts.
v3.5.0April 12, 2025Minor enhancements and bug fixes, including updated pdf.js integration.
v3.5.1June 5, 2025Patch release addressing stability issues post-v3.5.0.
v3.6.0October 24, 2025Recent enhancements like shadow DOM hinting and hardware-accelerated canvas support via 6.10.0.
v3.6.1November 3, 2025Patch release fixing keyboard focus regression.
Subsequent minor releases, such as v3.3.0 in October 2024, have included platform-specific adjustments, like further macOS support refinements. This evolution reflects a focus on sustainability, with consistent updates balancing new capabilities against dropping legacy support to align with upstream Qt and Python advancements.

Features

User interface

qutebrowser features a minimalistic graphical user interface designed to prioritize keyboard-driven interaction and reduce visual clutter. By default, it omits traditional elements such as a dedicated address bar or bookmark bar, instead relying on a status bar positioned at the bottom of the window to display essential information including the current URL, active mode, and loading progress. The tab bar is shown at the top. The interface operates in distinct modes to facilitate different types of user input, with visual feedback provided through changes in the status bar. These include command mode as the default state for navigation and commands, insert mode for text entry in web forms, and hint mode for selecting links via overlaid labels. The status bar updates its appearance—such as color schemes or icons—to clearly indicate the current mode, enhancing usability without additional UI elements. Customization options allow users to tailor the interface to their preferences while maintaining its core simplicity. Themes can be applied using Qt stylesheets to modify colors, fonts, and layouts for components like the status bar and completion menus; for instance, users can adjust background and foreground colors for modes or progress indicators. Completion menus for commands, URLs, and search terms appear as fuzzy-searchable popups with configurable height and categories, and fullscreen mode is supported to expand the browser window for an immersive viewing experience. qutebrowser ensures a consistent user interface across multiple operating systems, including Linux, Windows, macOS, and FreeBSD, leveraging Qt for uniform rendering and behavior. The default search engine is set to DuckDuckGo, which integrates seamlessly into the status bar's URL display and completion features.

Keyboard navigation and bindings

qutebrowser employs a vim-like keyboard navigation system designed to facilitate efficient, mouse-free web browsing in its normal mode, where most interactions occur. This system draws from Vim's modal editing paradigm, allowing users to perform scrolling, navigation, and commands using single keystrokes or short sequences. Scrolling is handled with the keys h for left, j for down, k for up, and l for right, mimicking Vim's movement commands to pan the viewport incrementally. History navigation uses uppercase variants H to go back and L to go forward in the session history. The hint mode, activated by pressing f, overlays labels on interactive elements like links and form fields; typing the corresponding label (a short string of letters or numbers) follows or activates the element, enabling rapid selection without precise mouse aiming. To enter commands, users press : , opening a prompt for ex-style commands such as :open <URL> to load a webpage in the current , :tab-new to create and focus a new tab, or :search <query> to highlight text matches on the page. Page-specific searching is invoked with / followed by the query and Enter, with n to jump to the next match and N for the previous, providing quick similar to Vim. Zooming in and out is achieved with + to increase the scale and - to decrease it, applying relative adjustments to the page's rendering. Media controls include bindings like m to mute or unmute the current tab's audio, and recent versions introduce defaults such as ti to toggle automatic image loading via the content.images setting. Fullscreen mode toggles with F11. The Escape key exits hint mode, search, or command prompts, returning to normal mode. Keybindings are highly configurable through the config.py file using config.bind('<key>', '<command>', mode='normal') to override or add mappings, allowing personalization while preserving the core vim-inspired layout. Quickstart essentials include o to open a URL or search in the current , O for a new , d to close the current , and u to undo the last closed .

Tab and session management

qutebrowser provides efficient tab management through keyboard-driven controls, allowing users to navigate, create, close, and manipulate s without relying on the . To switch between tabs, users can press J to move to the next tab or K to the previous one, integrating seamlessly with the browser's vim-like keybindings for fluid navigation. Numbered tab selection is supported via <Alt-1> through <Alt-9> to jump directly to the corresponding position, while gt advances to the next tab and gT retreats to the previous. For more precise control, the :tab-select command enables selection by index or substring match, and it also supports pinning tabs to keep them fixed in position or moving them via the :tab-move command, which accepts relative offsets like + or -, or absolute positions such as start or end. Session management in qutebrowser emphasizes persistence and configurability to maintain workflow across sessions. By default, sessions are not automatically saved, but this can be enabled via the auto_save.session setting, which restores open tabs upon restart. Manual session saving is achieved with the :session-save command, optionally specifying a name (defaulting to the value in session.default_name), and flags like --only-active-window to limit scope or --no-history to exclude tab history. Quitting with :wq (write and quit) automatically saves the current session if configured, ensuring tabs and their states are preserved. Sessions can be loaded with :session-load, supporting options such as --clear to close existing windows before restoration or --lazy_restore (a related setting) to defer loading until a tab gains focus, optimizing performance. Window management supports multiple independent instances for compartmentalized browsing, each capable of maintaining its own session. The :open -w command (often bound to wo for opening a in a new ) creates a fresh , while new_instance_open_target setting dictates how external links behave in existing instances, defaulting to opening in a new but configurable to window. can be transferred between using :tab-give to move the current tab to a specified or :tab-take to pull a tab from another , preserving session integrity across instances. Advanced features enhance tab handling beyond basics. Users can undo tab closures with u, remembering an unlimited number of closed tabs and windows by default (configurable via tabs.undo_stack_size, set to -1 for no limit). Tab stacking is natively supported through the tabs.new_position.stacking setting, which groups consecutively opened related tabs together for better organization. While full tab grouping or advanced stacking requires userscripts, core functionality like pinning with :tab-pin or muting via :tab-mute provides robust control without external dependencies.

Technical aspects

Rendering engines

qutebrowser primarily utilizes QtWebEngine as its default rendering engine, a Chromium-based backend introduced in version 1.0 released in October 2017. This engine provides robust support for modern web standards, including , CSS3, and ES6+, along with built-in sandboxing for enhanced security and for improved rendering performance on compatible systems. As a of the Chromium project maintained by the Qt team, QtWebEngine ensures compatibility with contemporary web applications while benefiting from regular security patches and feature updates derived from upstream releases. For legacy compatibility, qutebrowser supports QtWebKit as an optional backend, which is based on the pre-Chromium engine and can be configured for rendering older websites that may not function optimally with QtWebEngine. However, QtWebKit has been deprecated since Qt 5.6 in 2016, with its last significant update (version 5.212 alpha) occurring in 2020, resulting in the absence of recent security fixes, , or sandboxing features. This makes QtWebKit unsuitable for general use due to known vulnerabilities and limited support for modern web technologies. The choice between rendering engines is determined by the backend configuration option, which accepts values of webengine (default) or webkit and requires a browser restart to take effect. QtWebEngine mandates Qt 5.15.2 or later for Qt 5 installations, or Qt 6.2 or later for Qt 6, ensuring access to the latest Chromium integrations. In terms of performance, QtWebEngine excels in JavaScript execution speed and multimedia handling compared to QtWebKit, though it consumes more system resources due to its comprehensive feature set; for PDF viewing, it integrates the pdf.js library to render documents directly within tabs without external dependencies. qutebrowser's rendering engines enjoy full support across , Windows, and macOS platforms, where both QtWebEngine and QtWebKit can be utilized depending on system Qt installations. On BSD variants like , however, QtWebEngine is unavailable, limiting users to the QtWebKit backend due to incomplete Qt porting efforts.

Configuration and scripting

qutebrowser's primary configuration is managed through a Python-based file named config.py, typically located at ~/.config/qutebrowser/config.py on systems. This file allows users to define settings using Python syntax, providing flexibility for customizations such as color schemes, with examples like c.colors.webpage.bg = '#ffffff' to set the webpage background color. Key bindings can also be overridden directly in this file, for instance, config.bind('x', 'spawn-cp rm') to map the 'x' key to a custom command execution. Per-domain overrides are supported via functions like config.set('content.images', False, '*://example.com/*'), enabling site-specific behaviors. For users preferring a graphical , qutebrowser offers a built-in settings page accessible by running the :set command without arguments, which opens qute://settings. This point-and-click lists all available settings and allows immediate modifications, such as adjusting tab positions or enabling features, with changes automatically syncing to the underlying in format. The GUI supports pattern-based rules for domains, like disabling images on specific sites, and integrates seamlessly with command-line options for quick tweaks. Platform-specific or automatic configurations are handled via autoconfig.yml, a file generated and maintained by qutebrowser in the configuration directory (viewable at qute://version). This file stores settings from GUI or command-line changes, such as tabs.position: left, and supports key bindings like bindings.commands: {normal: {',v': 'spawn mpv {url}'}}. If a config.py file exists, autoconfig.yml is ignored unless explicitly loaded using config.load_autoconfig() in the file, allowing layered overrides for different environments. Extensibility in qutebrowser is achieved primarily through userscripts, which are executable scripts placed in ~/.local/share/qutebrowser/userscripts/. These can be written in JavaScript, Python, or other languages that interact via environment variables and a FIFO pipe, invoked using :spawn --userscript or key bindings. Representative examples include a URL opener script for external applications or an ad-blocking enhancer that modifies page content; a simple Bash example opens selected text in a dictionary site with #!/bin/bash followed by echo "open -t https://www.dict.cc/?s=$QUTE_SELECTED_TEXT" >> "$QUTE_FIFO". Scripts must be made executable and can leverage QtWebEngine's base for interactions like injecting JavaScript. Unlike Chromium-based browsers, qutebrowser lacks a full extension for third-party plugins, limiting advanced additions to signals, userscripts, and Python-based hooks in config.py, which constrain features like comprehensive modifications or background processing.

Development and community

Core development

qutebrowser is primarily maintained part-time by its lead developer, Florian Bruhin (known online as "The-Compiler"), who has overseen the project since its inception in 2013. Bruhin, based in and operating through Bruhin Software, handles core development alongside other open-source commitments, such as maintaining pytest. The project benefits from contributions by hundreds of developers through , enabling a collaborative effort without a full-time team. The browser is written in Python 3.9 or newer, with some integration involving for web-related functionality, and relies on PyQt5 (version 5.15.0+) or PyQt6 (version 6.2.2+) for bindings. The source code repository is hosted at github.com/qutebrowser/qutebrowser, where development occurs using standard workflows. Development follows an open-source model centered on for issue tracking, pull request reviews, and merging contributions. The project is funded primarily through donations via Sponsors, supporting Bruhin's part-time efforts. An active documents changes, incorporating numerous user-reported fixes and enhancements from the community. As of November 2025, qutebrowser remains under ongoing maintenance, with regular releases such as version 3.6.1 issued on November 3, emphasizing 6 compatibility—now the default where available—and addressing bug fixes. 5.15 serves as a fallback for broader compatibility, while community input drives much of the prioritization and resolution of issues. There is no dedicated full-time team, relying instead on volunteer contributions to sustain progress.

Licensing and distribution

qutebrowser is released as under the terms of the GNU General Public License version 3 or later (GPLv3+), which guarantees users the freedom to run, study, share, and modify the software. Certain bundled components, such as the PDF viewer used in Windows releases, are licensed separately under the 2.0. The browser is distributed through multiple channels to support various installation preferences and platforms. It is available as a package via PyPI, allowing installation with pip install qutebrowser. Official prebuilt binaries and installers for Windows and macOS are provided through releases. Additionally, qutebrowser is packaged in the official repositories of major distributions, including , in the Extra repository, and . Installation requires Python 3.9 or later, along with 5.15 or 6.2 and corresponding bindings ( 5.15+ or 6.2+). On systems, platform-specific dependencies such as the qtwebengine package are necessary for the Chromium-based rendering backend. For packaging, qutebrowser is maintained in the repositories of numerous distributions for easy integration via package managers. Windows and macOS users can obtain standalone installers directly from releases, while builds are supported by cloning the and using scripts, such as scripts/dev/ci/run.py for testing during compilation. Community-hosted mirrors, including for version archives and Uptodown for downloadable installers of older releases, provide alternative access points for users seeking historical versions.

Reception

User feedback

qutebrowser has received praise from users for its speed and minimalist design, which prioritize efficient navigation over graphical elements, making it particularly appealing to power users in environments. Reviews highlight its true Vim-like integration, allowing seamless command-mode operations for tasks like scrolling, tab switching, and searching, which enhances productivity for those familiar with Vim bindings. It is especially favored among enthusiasts and users of tiling window managers, where its lightweight footprint and scriptable interface complement workflow efficiency without resource overhead. Criticisms center on its niche appeal, which limits broader adoption outside specialized Linux communities, as the absence of intuitive mouse-driven features can alienate casual users. Non-Vim users often face a steep due to the reliance on custom keybindings and configuration files, requiring time to master for effective use. Additionally, occasional bugs in the QtWebEngine backend, such as crashes or freezing on certain sites, reported across platforms, though workarounds exist via updates. As of 2025, the project maintains an active repository with over 11,000 stars, reflecting steady community interest and contributions from hundreds of developers. Positive reception is evident in tech publications, where its clean and options are commended for reviving keyboard-centric browsing in modern contexts. Donations through Sponsors provide ongoing support for part-time development, ensuring regular releases and . As of November 2025, the project released 3.6.1, continuing to address and issues. Since its inception in 2013, qutebrowser has seen consistent growth in user bases, particularly among privacy-focused and minimalist setups, with inclusion in essential software guides underscoring its enduring relevance.

Comparisons to other browsers

qutebrowser distinguishes itself from extension-based navigation tools like Vimium and Tridactyl, which operate as add-ons within or Chromium-based browsers. These extensions are constrained by the WebExtensions API, limiting their ability to provide a fully consistent, native vim-like across all functions and leading to inconsistencies in input interception on certain pages. In contrast, qutebrowser implements bindings natively, offering greater freedom and reliability without dependency on the host browser's extension ecosystem or potential compatibility issues. Compared to other minimal browsers, qutebrowser builds on the legacy of dwb, its primary inspiration, by adopting similar vim-inspired key bindings such as J/K for tab navigation while addressing dwb's limitations as an unmaintained project discontinued around 2014. It provides a more feature-complete alternative with active development, including support for modern web standards via QtWebEngine. Against Nyxt, a Common Lisp-based browser emphasizing extensibility through live , qutebrowser is lighter on resources—avoiding Nyxt's heavier footprint from its dynamic language runtime—though it offers less programmable depth for advanced customization. As a Chromium-derived browser via QtWebEngine, qutebrowser avoids integration with services present in the default Chromium, providing a cleaner baseline without proprietary telemetry or search defaults. This setup contrasts with mainstream options like , prioritizing minimalism over feature bloat, and enables superior keyboard focus compared to mouse-centric interfaces in browsers like , where and space management relies heavily on graphical interactions rather than modal commands. qutebrowser excels for power users seeking efficient, keyboard-driven workflows but involves trade-offs relative to versatile mainstream browsers like . It lacks Firefox's built-in sync for bookmarks, history, and settings, requiring manual solutions such as file-based synchronization tools for cross-device consistency, as its data is stored in editable or formats. Additionally, while supporting WebExtensions, qutebrowser's ecosystem is far smaller than Firefox's extensive add-on library, limiting plug-in availability for specialized needs. On , it surpasses default configurations by enabling full sandboxing and out of the box, alongside optional via an ABP-compatible library to mitigate trackers and ads.

References

  1. [1]
    qutebrowser | qutebrowser
    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. Screenshots.Install · Help · FAQ · Changelog
  2. [2]
    A keyboard-driven, vim-like browser based on Python and Qt. - GitHub
    qutebrowser is a keyboard-focused browser with a minimal GUI. It's based on Python and Qt and free software, licensed under the GPL.
  3. [3]
    Setting reference - Qutebrowser
    qutebrowser supports two different web rendering engines / backends, QtWebEngine and QtWebKit (not recommended). QtWebEngine is Qt's official successor to ...
  4. [4]
    Frequently asked questions - Qutebrowser
    qutebrowser uses Python, Qt and PyQt. The concept of it is largely inspired by dwb and Vimperator. Many actions and key bindings are similar to dwb.
  5. [5]
    qutebrowser quickstart
    qutebrowser quickstart: Basic keybindings to get you started. What to do now: View the key binding cheatsheet to make yourself familiar with the key bindings.
  6. [6]
    qutebrowser v1.0.0 released!
    Oct 12, 2017 · qutebrowser v1.0.0 released! Thu 12 October 2017. I'm delighted to announce that I just released qutebrowser v1.0.0!Missing: date | Show results with:date<|separator|>
  7. [7]
    Installing qutebrowser
    qutebrowser can be installed via official repositories (e.g., `apt install qutebrowser` on Debian/Ubuntu), community packages, prebuilt binaries, or manual ...
  8. [8]
    Configuring qutebrowser
    The easy (but less flexible) way to configure qutebrowser is using its user interface or command line. Changes you make this way are immediately active.
  9. [9]
    [PDF] About me About qutebrowser
    In late 2013, I started qutebrowser. After it gained a bigger userbase than I had initially expected, I worked full-time on it for some months, supported by ...Missing: 2014 | Show results with:2014
  10. [10]
  11. [11]
    Florian Bruhin's Speaker Profile - Sessionize
    In 2013, he started the qutebrowser project, a keyboard-focused web browser based on Python and Qt. In 2015, he discovered pytest - since then, he has given ...<|separator|>
  12. [12]
    Happy birthday, qutebrowser!
    Aug 5, 2019 · QtWebEngine support was finally added in July 2016, a lot later than I imagined. Initially, many features didn't work yet, but in September 2017 ...
  13. [13]
    qutebrowser v3.4.0 released / 11 years qutebrowser! - Reddit
    Dec 14, 2024 · ... Date: Sat Dec 14 22:15:16 2013 +0100 Initial commit. If you're feeling nostalgic, in 2022 I did a little writeup about how it all started ...Happy 9th birthday, qutebrowser! - Redditqutebrowser v0.8.1 released : r/linux - RedditMore results from www.reddit.com
  14. [14]
  15. [15]
    qutebrowser development blog
    Dec 14, 2022 · In 2016, qutebrowser had its own first big migration, when QtWebEngine finally was ready enough to add support for it. Nowadays, QtWebKit is ...
  16. [16]
    [qutebrowser-announce] qutebrowser v2.0.0 released (with better ...
    Jan 28, 2021 · [qutebrowser-announce] qutebrowser v2.0.0 released (with better adblocker)!. Florian Bruhin me at the-compiler.org
  17. [17]
  18. [18]
    Change Log | qutebrowser
    HTML5 inputs with date/time types now enter insert mode when selected. dictcli.py now shows where ... Initial release. Last updated 2025-10-29 01:23:24 CET.
  19. [19]
    Normal commands - Qutebrowser
    In qutebrowser, all keybindings are mapped to commands. Some commands are hidden, which means they don't show up in the command completion when pressing :.
  20. [20]
  21. [21]
  22. [22]
    Writing qutebrowser userscripts
    Also note userscripts need to have the executable bit set ( chmod +x ) for qutebrowser to run them. To call a userscript, it needs to be stored in your ...
  23. [23]
    Extension (plugin) support · Issue #30 · qutebrowser ... - GitHub
    Oct 1, 2014 · As a result, there's now an initial extension API used internally in qutebrowser, but it's far from finished and not open to third-party ...Missing: limits | Show results with:limits
  24. [24]
    Bruhin Software
    Bruhin Software is a freelancing company founded by Florian Bruhin and located in Winterthur, Switzerland. ... qutebrowser: Keyboard-focused web browser ...Missing: 2014 | Show results with:2014<|control11|><|separator|>
  25. [25]
    Florian Bruhin – Founder at Bruhin Software - LinkedIn
    Founder at Bruhin Software · Likes Python. Writing qutebrowser, a vim-like browser. pytest maintainer, with trainings/coaching via https://bruhin.software.
  26. [26]
    Contributing to qutebrowser
    This document contains guidelines for contributing to qutebrowser, as well as useful hints when doing so.
  27. [27]
  28. [28]
    qutebrowser - PyPI
    qutebrowser's primary author is Florian Bruhin (The Compiler), but qutebrowser wouldn't be what it is without the help of https://github.com/qutebrowser ...Missing: origins | Show results with:origins
  29. [29]
    Releases · qutebrowser/qutebrowser
    - **First Release Date**: Not explicitly listed in the provided content; earliest release shown is v3.1.0 (08 Dec 15:39), but no initial release date is available.
  30. [30]
    qutebrowser 3.6.1-1 (any) - Arch Linux
    Architecture: any. Repository: Extra. Description: A keyboard-driven, vim-like browser based on Python and Qt. Upstream URL: https://www.qutebrowser.org/.
  31. [31]
    qutebrowser download | SourceForge.net
    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.
  32. [32]
    5 lightweight browsers that can make your old PC feel like new again
    Apr 15, 2025 · Even so, QuteBrowser is very fast because it is not weighed down by modern features and bloat. QuteBrowser features customizable keyboard ...
  33. [33]
    6 obscure browsers that surprised me with their unique features
    Aug 29, 2025 · Qutebrowser is the browser you'd expect an Arch Linux user to use. Compared to point-and-click browsers, it is a highly niche, keyboard-driven ...
  34. [34]
    qutebrowser - LinuxReviews
    Jul 17, 2020 · You should give qutebrowser a try if you want a keyboard-driven web browser and you are willing to accept the somewhat steep learning-curve you ...
  35. [35]
    10 Open Source Lightweight Web Browsers for Linux
    Focusing on privacy, minimalism, and customization, this browser has become a powerful lightweight place where you can do every search you want.
  36. [36]
    qutebrowser : The Ultimate Keyboard-Driven Minimalist Browser
    May 16, 2025 · For example, it lacks built-in tools for media playback or synchronization across devices, which may be a drawback for users accustomed to ...
  37. [37]
    Best Linux Software: 39 Essential Linux Apps We Suggest - It's FOSS
    You won't be needing a premium plan unless you're an enterprise user with many users to manage. ... Replace Firefox with Qutebrowser and life will be greater!Audio Editors · Screen Recording And... · Apps For Gamers
  38. [38]
    10 Best Lightweight Browsers for Ubuntu and Other Linux
    Nov 23, 2023 · qutebrowser, a keyboard-focused browser, excels in efficiency and adaptability, while Nyxt caters to power users with a keyboard-centric ...
  39. [39]
    Keyboard-driven web browsers - LWN.net
    Jun 8, 2025 · Qutebrowser: Great keyboard integration, but a bit sluggish and not so great ad-blocking capabilities. 3. Nyxt: Outstanding keyboard ...
  40. [40]
    Arc Browser vs. qutebrowser Comparison
    Compare Arc Browser vs. qutebrowser using this comparison chart. Compare price, features, and reviews of the software side-by-side to make the best choice ...