Embed a real, fast command-line terminal inside a web application.
Migrate an existing xterm.js based terminal UI to a GPU-accelerated renderer.
Add split terminal panes and custom color themes to a browser-based dev tool.
Apply custom shader effects like a CRT vignette to a web terminal.
Restty is an open-source terminal emulator that runs inside a web browser, built for developers who want to embed a real command-line terminal in a web app. Unlike older browser terminal libraries, it uses WebGPU (a modern graphics API) with a WebGL2 fallback for rendering, and pulls its terminal logic from libghostty-vt (the core of the Ghostty terminal app) compiled to WebAssembly. The result is a fast, visually accurate terminal that supports advanced features like programming ligatures (where certain character combinations merge into single glyphs), proper text shaping, and split panes. The API is straightforward: you drop a div on the page, create a Restty instance pointing at it, and connect it to a WebSocket endpoint that provides a shell session. From there you can split the terminal into multiple panes horizontally or vertically, apply color themes (including custom Ghostty theme files), swap fonts at runtime, send input programmatically, and extend behavior with a plugin system. For visual effects, it exposes a shader stage API where you write WGSL or GLSL graphics code that runs on the GPU after each frame renders, enabling effects like CRT-style vignette or monochrome overlays. There's also an xterm.js compatibility layer for teams migrating from that older library. It installs as an npm package with a single command.
A fast, GPU-accelerated terminal emulator you can embed inside a web page, built on the same engine that powers the Ghostty terminal app.
Mainly TypeScript. The stack also includes TypeScript, WebGPU, WebGL2.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.