Skip to content

Repository files navigation

Termium

Browse the web inside your terminal. Real pages. Real tabs. Your keyboard.

Website · Quickstart · User guides · Installation

Termium in Ghostty: searching YouTube, watching SpaceX boosters land, following Vimium link hints on Hacker News, and the same Steam page in Ghostty, WezTerm, Kitty, foot, xterm and Alacritty
Watch the 70-second demo with sound

Termium renders a real Chromium browser in your terminal, with keyboard and mouse interaction. It draws actual pixels with the Kitty graphics protocol or sixel, and falls back to ASCII graphics anywhere else. It works over SSH, so the browser can run on the machine you are logged into.

Quickstart

Supported platforms: Linux x86-64, macOS (Apple Silicon or Intel), and Windows (WSL2 x86-64).

On Windows, open your WSL2 Linux shell in Windows Terminal (Preview), available from the Microsoft Store. This setup is supported with Sixel graphics. Run the command below inside WSL2.

On Linux and macOS, run it directly in your terminal:

curl -fsSL https://termium.dev/install | bash

Setup downloads Termium, Chromium, and Vimium, verifies them, and opens the browser. No Node, Go, browser installation, or sudo required. In new terminals, the termium command works from any directory.

This is an early release. Linux requires glibc and working Chromium sandbox support; the installer checks compatibility; native Windows and Linux ARM64 packages are not available yet.

See installation for platform requirements, updates, and storage.

Browse

Run termium from any directory, or termium example.com to open a page directly.

  • The welcome page puts the key legend at your fingertips.
  • Press Ctrl+L, type an address, and press Enter.
  • Use the top bar for Back, Forward, Reload/Stop, and Menu.
  • Press f for link hints, j/k to scroll, and ? for Vimium help.
  • Use t, J/K, and x/X to create, switch, close, and reopen tabs.
  • Click a page field to focus it, then type normally.
  • Press F6 for mouse keys; press it again to return to typing.
  • Press Ctrl+Q, then Enter to quit.

Save a custom startup and new-tab page with termium --set-homepage https://example.com.

Read the getting started guide for controls and display options.

Graphics in your terminal

Termium picks the best graphics your terminal offers:

Terminal Graphics
Ghostty, Kitty, WezTerm Kitty graphics: true color, PNG straight from Chromium
foot, xterm (VT340 mode), Windows Terminal Sixel
Anything else, such as Alacritty ASCII graphics with colored blocks

See terminal support for setup notes, including the xterm flags.

Over SSH

Termium runs where you run it. SSH into a Linux machine from a terminal that supports Kitty graphics or sixel, run termium, and the pages render on your screen while Chromium runs on the remote host. A slow connection slows the frame rate, not the page.

How it compares

Termium Carbonyl Browsh Lynx, w3m
Engine Stock Chromium Patched Chromium Headless Firefox Own HTML engine
Images and video Real pixels (Kitty graphics, sixel), ASCII fallback Colored block characters Colored block characters None, or external viewer
Text Part of the rendered image Real terminal text Real terminal text Real terminal text
Keyboard Vimium built in: link hints, tabs, scrolling Basic keys and mouse Own keys and mouse Own keys
Works in any terminal Best with Kitty graphics or sixel; ASCII elsewhere Yes Yes Yes

If you want sharp terminal text on any terminal, Carbonyl and Browsh are good choices. Termium is for when you want the page to look like the page.

Known limitations

  • Terminal multiplexers: tmux, screen, and herdr do not work well yet. Run Termium directly in the terminal window.
  • Docker: Chromium's sandbox needs namespaces that Docker's default seccomp profile blocks. Run the container with --security-opt seccomp=unconfined.
  • Text is pixels: page text is part of the image, so terminal-native selection and screen readers cannot read it. On main, select inside the webpage and use F10 → Copy selected text (F8); see Browser tools.
  • Platforms: no native Windows or Linux ARM64 packages yet.

Browser tools on main

Open F10 or click Menu for Developer tools (F12), Copy selected text (F8), and Extensions. Drag to select text, copy through the terminal clipboard, and paste with your terminal's paste shortcut. Load unpacked extensions with termium --extension /path/to/extension. These additions are on main, pending the next release. Controls, availability and limits.

Documentation

Guide What it covers
Installation One-command setup, availability, and platform targets
Getting started Opening pages, typing, dialogs, and quitting
Browser tools Developer tools (F12), text copy/paste, and unpacked extensions
Terminal support Graphics modes and compatibility
Troubleshooting Display issues, startup failures, and bug reports
Vimium and tabs Bundled keyboard navigation, tabs, mouse coexistence, and limitations

What's next

  1. Multiplexers: tmux and screen support.
  2. Distribution: Homebrew and AUR packages, more clean-machine testing, automated dependency updates.
  3. Browser polish: persistent browsing sessions, richer clipboard formats, dark mode that follows your terminal.
  4. Native Windows: add native packages; Windows through WSL2 is supported today.

The installation plan and browser UI plan define the work and release checks. See GitHub Releases for native packages and release notes.

Development

See development for building, testing for the npm test suite and CI coverage, and architecture for the rendering pipeline.

Found a bug? Follow the reporting guide and open an issue. Questions and ideas go in Discussions.

License

MIT. Third-party components retain their own licenses, included with their sources and release packages.

About

Chromium in your terminal. Vimium navigation, real tabs, Kitty and sixel graphics, and Mouse keys. Linux and macOS.

Topics

Resources

Stars

175 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages