Carbonyl: Chromium Browser Running Directly in Your Terminal

Summary
Carbonyl is an innovative Chromium-based browser designed to operate entirely within a terminal environment. It supports a wide range of modern web APIs, including WebGL and video playback, while maintaining high performance and low resource usage. This project offers a unique solution for browsing the web without a traditional graphical interface.
Repository Info
Tags
Click on any tag to explore related repositories
Introduction
Carbonyl is a groundbreaking Chromium-based web browser built to run directly within your terminal. Developed by fathyb, this project brings the full power of a modern browser, including support for WebGL, WebGPU, audio, video playback, and animations, into a text-based interface. It boasts impressive performance, starting in less than a second, running at 60 FPS, and idling at 0% CPU usage. Carbonyl does not require a window server, making it ideal for safe-mode consoles or even browsing through SSH. Originally starting as html2svg, Carbonyl now serves as the runtime behind it.
Installation
Getting started with Carbonyl is straightforward, with options for Docker, npm, or direct binaries.
Docker
For a quick test, you can run Carbonyl using Docker:
$ docker run --rm -ti fathyb/carbonyl https://youtube.com
npm
Install Carbonyl globally via npm:
$ npm install --global carbonyl
$ carbonyl https://github.com
Binaries
Pre-built binaries are available for various platforms:
Examples
Carbonyl supports virtually all modern Web APIs, allowing it to render complex web pages, play videos, and execute JavaScript seamlessly within your terminal. You can use it to browse popular sites like YouTube or GitHub, experiencing a full web browsing experience without a graphical desktop environment. The project's GitHub repository features impressive demo videos showcasing its capabilities, from rendering intricate animations to playing high-quality media directly in the terminal.
Why use Carbonyl
Carbonyl stands out by offering a full-featured Chromium browser experience in a terminal, a feat not easily matched. Its key advantages include:
- Performance: It's exceptionally fast, with quick startup times and smooth 60 FPS rendering, all while being highly resource-efficient.
- Flexibility: It operates without a window server, making it perfect for remote access via SSH or minimal console environments.
- Modern Web Support: Unlike older terminal browsers like Lynx, Carbonyl fully supports JavaScript, WebAssembly, and modern media playback, thanks to its Chromium core.
- Efficiency compared to alternatives: When compared to projects like Browsh, Carbonyl requires significantly less CPU power (up to 50x less for similar content). This is because Carbonyl natively renders to the terminal resolution, avoiding the overhead of downscaling or copying window framebuffers. It also integrates its layout fixes directly into its HTML engine, providing more reliable rendering than custom stylesheets.
Links
- GitHub Repository: fathyb/carbonyl
- Official Blog Post: Read the blog post