xterm.js

A fast, self-contained TypeScript library for embedding fully-featured terminals in the browser.

Library
npm
v6.0.0
21,228 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
89 /100 Excellent
Development Activity 92
Maintenance 96
Community 68
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
91 /100 Excellent
Architecture 92
Code Quality 90
Innovation 90
Learning Curve 85

xterm.js is a frontend component that lets web applications deliver complete, interactive terminal experiences directly in the browser. It emulates a real terminal — handling curses-based apps, mouse events, rich Unicode, and VT sequences — while shipping with zero runtime dependencies in its core.

Battle-tested inside VS Code, Hyper, and Tabby, xterm.js pairs an ergonomic Terminal API with an optional GPU-accelerated WebGL renderer and a modular addon system, making it the de-facto standard for browser-based terminals, SSH clients, and cloud IDEs.

What You Get

  • A dependency-free core Terminal class that renders and emulates a VT100-compatible terminal in any modern browser
  • An optional GPU-accelerated WebGL renderer addon for high-performance drawing
  • A modular addon ecosystem (fit, search, web-links, attach, serialize, clipboard, unicode, ligatures, and more)
  • A headless build (@xterm/headless) that runs terminal state tracking in Node.js without a DOM
  • A fully typed public API via bundled TypeScript declarations, shipped as both CommonJS and ES modules

Common Use Cases

  • Building browser-based SSH and shell clients that stream a remote pty to the user
  • Embedding an integrated terminal inside a cloud IDE, code playground, or developer tool
  • Providing container and VM management consoles in web dashboards
  • Rendering live command output and interactive REPLs in web apps

Under The Hood

Architecture The codebase is layered into three cleanly separated units under src/: common/ holds the environment-agnostic terminal core (the VT parser in common/parser, InputHandler.ts, buffer management in common/buffer, and a service layer via CoreTerminal.ts), browser/ adds DOM-facing concerns (CoreBrowserTerminal.ts, renderers, selection, links, accessibility) and headless/ provides a DOM-free build. A service-oriented design with dependency injection wires these layers, and functionality is extended through a public addon interface (Terminal.loadAddon) with each addon isolated as its own npm workspace under addons/.

Tech Stack Written almost entirely in TypeScript (~96%), the core library ships with zero runtime dependencies. It builds with the TypeScript compiler plus esbuild and webpack for bundling, publishes dual CommonJS/ESM outputs, and is linted with oxlint and ESLint. Rendering uses the browser DOM with an optional WebGL2 canvas path provided by the webgl addon.

Code Quality Quality is high: unit tests (*.test.ts) sit alongside source across common/ and browser/, and a Playwright-driven integration suite runs against Chromium, Firefox, and WebKit. Type-aware linting is enforced with --max-warnings 0, naming conventions are checked by a dedicated ESLint config, and a benchmark harness guards performance regressions.

API Design The public API is deliberately small and ergonomic — new Terminal(), open(element), write(data), onData(), and loadAddon() cover most needs, letting developers get a working terminal in a handful of lines. The full surface is documented in a well-maintained TypeScript declaration file (typings/xterm.d.ts), with experimental APIs clearly flagged, and a demo app plus extensive README examples ease onboarding.

Used by 197 apps in this directory

Go
73%
GPL 3.0

1Panel

Devops · Hosting Control Panel · Monitoring

37,044

The only open-source VPS control panel with native AI agent runtime — deploy websites, Docker stacks, and local LLMs from one web interface.

View details
91
Repo Health
76
Technical
67
Dependency
Built with
Go 73%
Vue 27%
Updated 5 days ago
Go
73%
GPL 3.0

1Panel

Devops · Hosting Control Panel · Monitoring

37,044

The only open-source VPS control panel with native AI agent runtime — deploy websites, Docker stacks, and local LLMs from one web interface.

View details
91
Repo Health
76
Technical
67
Dependency
Built with
Go 73%
Vue 27%
Updated 5 days ago
Go
59%
Apache 2.0

agent-orchestrator

AI Agents · AI Code Assistants · Developer Tools

12,440

A local desktop workspace that gives every coding task its own agent, Git branch, and worktree, then tracks tasks, pull requests, CI, and reviews for 27 coding agents on one live Kanban board.

View details
86
Repo Health
83
Technical
68
Dependency
Built with
Go 59%
TypeScript 38%
Updated 5 days ago
Go
59%
Apache 2.0

agent-orchestrator

AI Agents · AI Code Assistants · Developer Tools

12,440

A local desktop workspace that gives every coding task its own agent, Git branch, and worktree, then tracks tasks, pull requests, CI, and reviews for 27 coding agents on one live Kanban board.

View details
86
Repo Health
83
Technical
68
Dependency
Built with
Go 59%
TypeScript 38%
Updated 5 days ago
Go
59%
Apache 2.0

agent-orchestrator

AI Agents · AI Code Assistants · Developer Tools

12,440

A local desktop workspace that gives every coding task its own agent, Git branch, and worktree, then tracks tasks, pull requests, CI, and reviews for 27 coding agents on one live Kanban board.

View details
86
Repo Health
83
Technical
68
Dependency
Built with
Go 59%
TypeScript 38%
Updated 5 days ago
Go
59%
Apache 2.0

agent-orchestrator

AI Agents · AI Code Assistants · Developer Tools

12,440

A local desktop workspace that gives every coding task its own agent, Git branch, and worktree, then tracks tasks, pull requests, CI, and reviews for 27 coding agents on one live Kanban board.

View details
86
Repo Health
83
Technical
68
Dependency
Built with
Go 59%
TypeScript 38%
Updated 5 days ago
Go
59%
Apache 2.0

agent-orchestrator

AI Agents · AI Code Assistants · Developer Tools

12,440

A local desktop workspace that gives every coding task its own agent, Git branch, and worktree, then tracks tasks, pull requests, CI, and reviews for 27 coding agents on one live Kanban board.

View details
86
Repo Health
83
Technical
68
Dependency
Built with
Go 59%
TypeScript 38%
Updated 5 days ago
Go
59%
Apache 2.0

agent-orchestrator

AI Agents · AI Code Assistants · Developer Tools

12,440

A local desktop workspace that gives every coding task its own agent, Git branch, and worktree, then tracks tasks, pull requests, CI, and reviews for 27 coding agents on one live Kanban board.

View details
86
Repo Health
83
Technical
68
Dependency
Built with
Go 59%
TypeScript 38%
Updated 5 days ago
Go
59%
Apache 2.0

agent-orchestrator

AI Agents · AI Code Assistants · Developer Tools

12,440

A local desktop workspace that gives every coding task its own agent, Git branch, and worktree, then tracks tasks, pull requests, CI, and reviews for 27 coding agents on one live Kanban board.

View details
86
Repo Health
83
Technical
68
Dependency
Built with
Go 59%
TypeScript 38%
Updated 5 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers