logo
Kurashizu Blogwhere ideas flow
  • Home
  • News
  • Blog
  • About
  • Home
  • News
  • Blog
  • About

© 2026 Kurashizu. All rights reserved.

Admin·New Post·Service Status
Powered by Cloudflare·01.11.26
← Back to news

Brow6el: A full-featured web browser for the terminal using Chromium

Original article
tangled.org|32 points|9 comments|by nerdypepper|Jul 23, 2026

Brow6el: The Chromium-Powered Terminal Browser

Brow6el is a comprehensive web browser designed specifically for the terminal. It leverages the Chromium Embedded Framework (CEF) to bring modern web capabilities to the command line, featuring robust support for both Sixel and Kitty graphics protocols.


🌐 Project Status & Migration

The primary source of truth for this project has moved. Previous Host: Codeberg →\rightarrow→ Current Host: Tangled

The developer migrated from Codeberg to keep all projects on a single platform after other projects were no longer welcomed there.

🛠 Technical Composition

The codebase is a polyglot effort, primarily driven by C++ and JavaScript:

LanguagePercentage
C++46.3%
JavaScript44.5%
Shell4.7%
HTML3.8%
CMake0.7%
C0.1%
Other0.1%

⚠️ Critical Warnings & Compatibility

Before deploying Brow6el, please note the following constraints:

  • SSH Performance: Kitty image support is barely functional over SSH. Because each rendered frame requires massive data transfers, responsiveness drops significantly.
  • Ubuntu 24.04 Issue: The version of Kitty shipped with Ubuntu 24.04 (v0.32.2) is outdated. It cannot handle the newer image protocol used by Brow6el, resulting in BASE64 text being printed instead of actual images.
  • Recommended Alternative: The foot terminal works perfectly on Ubuntu.
  • Code Maturity: This is currently POC (Proof of Concept) quality code.

Verified Terminals:

  • foot
  • wezterm
  • kitty (Localhost)
  • ghostty
  • yaft (Framebuffer)
  • Windows 11 Terminal (via WSL2 with Sixel)

🚀 Key Features

Graphics & Rendering

  • Protocol Support: Automatic detection and support for Sixel and Kitty.
  • Tiled Rendering: An optional feature for Sixel that breaks images into tiles to improve responsiveness.
  • Modern Web Engine: Full support for HTML5+CSS3+JavaScript\text{HTML5} + \text{CSS3} + \text{JavaScript}HTML5+CSS3+JavaScript via Chromium.

Navigation & Control

  • Vim-Style Modality: Uses a modal interface to streamline keyboard interaction.
  • Grid Jump Mode: A recursive navigation system allowing users to reach almost any element in 3-4 keystrokes.
  • Mouse Integration: Full support for clicking and scrolling.

Power User Tools

  • Element Inspector: A DevTools-like utility available in MOUSE mode.
  • JS Console: A dedicated area to execute JavaScript and monitor logs.
  • User Scripts: Ability to inject custom JS into pages.
  • DNS-over-HTTPS (DoH): Configurable providers for secure DNS resolution.

Management

  • Bookmarks: Organize and save favorite URLs.
  • Download Manager: Track file downloads with a progress indicator.
  • Profiles: Switch between Persistent (Normal) and Temporary (Private) browsing.
  • Multi-Instance: Capability to run several browser windows at once.

⌨️ Modal Control System

Brow6el operates using a state-based input system. The transition between modes can be visualized as follows:

The efficiency of the data transfer over a network can be conceptualized by the formula: Latency∝Frame Size×ResolutionBandwidth\text{Latency} \propto \frac{\text{Frame Size} \times \text{Resolution}}{\text{Bandwidth}}Latency∝BandwidthFrame Size×Resolution​ This explains why Kitty graphics struggle over SSH.


📂 Repository Insights & Recent Updates

The project is actively evolving. Recent commits include:

  1. Configuration: Added a download_directory field to customize where files are saved.
  2. Path Handling: Improved config file logic to expand ~ (home directory) and ensure trailing slashes.
  3. Modernization: Integrated C++20 features such as std::same_as and std::convertible_to.
  4. Cleanup: Removed Forgejo CI/CD pipelines.

Example Build Command

To initiate the build process, users typically interact with the provided shell scripts:

chmod +x build.sh
./build.sh

🖼 Gallery

User Avatars:

Browser in Action: Demo Video General Page View

Codeberg Site Rendering a website in a Linux virtual terminal

JS Console The integrated JavaScript console