Index News Docs Issues Source

# Chawan: TUI web browser

Chawan is a text-mode web browser and pager for Unix-like systems, with a focus on implementing modern web standards while remaining self-contained, easy to understand and extensible.

It includes functionality like CSS, inline images and JavaScript through a small, independent browser engine.

Most of Chawan has been developed from scratch in the memory-safe Nim programming language.

## Download

You can download the latest release here.

Sources are currently hosted on SourceHut and Codeberg.

There are also unstable packages of the master branch maintained by volunteers:

This page showcases some websites being rendered in Chawan.

## Features

UI Inspired by w3m and vi.
Keybindings are user-programmable using JavaScript.
Protocols HTTP(S), SFTP (using libssh2), FTP, Gopher, Gemini, Finger, Spartan. Extensible by users.
Formats HTML, plain text, Markdown, man page, and directory listing viewers are included. Extensible by users through HTML converters (you can even replace built-in viewers).
CSS Colors, formatting, flow layout (block, inline, float, etc.), table layout, flex layout.
Images Displayed using Sixels or the Kitty protocol. Supported input formats are PNG, JPEG, BMP, GIF (stb_image), WebP (jebp) and SVG (nanosvg).
Opt-in; edit the config to enable it.
JavaScript Uses QuickJS-NG. Supports various DOM manipulation and network APIs.
Opt-in; edit the config to enable it.
Sandboxing Websites are loaded inside separate processes, further locked down using syscall filtering mechanisms on FreeBSD, OpenBSD and Linux.

## Subprojects

Parts of Chawan available as separate libraries:

## License

Public domain, with permissively licensed components.