xterm.io — bash
~$ npm install @xterm/xterm
added 1 package in 0.8s

~$ cat demo.js
import { Terminal } from '@xterm/xterm';
const term = new Terminal({ cursorBlink: true });
term.open(document.getElementById('terminal'));
term.write('Hello from xterm.io! \r\n');

~$

A terminal in your browser

xterm.io is a modern, fully-featured terminal emulator for the web. Embed terminals in your apps, build browser-based CLIs, or share live sessions.

Get Started →

Built for Developers

Everything you need to embed a terminal experience in the browser.

GPU Rendering

WebGL2-accelerated rendering. Handles 10,000+ lines per second without dropping frames. Smooth scrollback on huge logs.

🎨 True Color

Full 24-bit color support, 256-color palette, and custom themes. Your terminal looks exactly like your local one.

🔗 Link Detection

Clickable URLs, file paths, and custom patterns. Regex-based link matching with hover previews.

📐 Fit & Resize

Automatic column/row calculation based on container size. Responsive terminals that adapt to any layout.

🔍 Search

Built-in search addon with regex support and incremental highlighting. Find anything in your scrollback buffer instantly.

Accessible

Screen reader compatible, keyboard navigable, and ARIA-labeled. Terminal content is part of the accessibility tree.

Embed in 3 Lines

Add a terminal to any web page. No build step required.

// That's it. Really.
import { Terminal } from '@xterm/xterm';
const term = new Terminal();
term.open(document.getElementById('terminal'));