Esta página se muestra en inglés. Una traducción al español está en curso.
ConfigsMay 19, 2026·3 min de lectura

xterm.js — Terminal Emulator Component for the Web

A TypeScript library that provides a fully featured terminal emulator in the browser, powering the integrated terminals of VS Code, Hyper, and dozens of web-based IDEs and SSH clients.

Listo para agents

Este activo puede ser leído e instalado directamente por agents

TokRepo expone un comando CLI universal, contrato de instalación, metadata JSON, plan según adaptador y contenido raw para que los agents evalúen compatibilidad, riesgo y próximos pasos.

Stage only · 17/100Stage only
Superficie agent
Cualquier agent MCP/CLI
Tipo
Script
Instalación
Stage only
Confianza
Confianza: Established
Entrada
xterm.js
Comando CLI universal
npx tokrepo install 8d073071-539f-11f1-9bc6-00163e2b0d79

Introduction

xterm.js is a TypeScript-based terminal emulator component that runs entirely in the browser. It implements the VT100/xterm specification, supports Unicode, true color, and GPU-accelerated rendering via WebGL. The library is used by Visual Studio Code, Hyper, and many web-based IDE and DevOps tools to provide embedded terminal experiences.

What xterm.js Does

  • Renders a fully functional terminal emulator inside any web page or Electron app
  • Implements VT100, VT220, and xterm escape sequences for broad compatibility
  • Supports true color (24-bit), bold, italic, underline, and strikethrough text styles
  • Provides WebGL and Canvas rendering backends for high-performance output
  • Connects to backend shells via WebSocket, allowing browser-based SSH and PTY sessions

Architecture Overview

xterm.js consists of a core parser that interprets terminal escape sequences, a buffer manager that tracks cell state and scrollback, and pluggable renderers (DOM, Canvas, WebGL). The library exposes a TypeScript API for input handling, resize events, and addon management. It does not include a built-in shell; instead, applications pair it with a backend PTY process connected through a WebSocket transport (commonly using node-pty or a remote SSH bridge).

Self-Hosting & Configuration

  • Install via npm and import into any JavaScript or TypeScript project
  • Attach the terminal to a DOM element with terminal.open(element)
  • Connect to a backend shell via WebSocket using the attach addon
  • Enable the WebGL renderer addon for improved performance with large output
  • Configure font family, font size, theme colors, and scrollback via the options object

Key Features

  • WebGL-accelerated rendering for smooth handling of high-throughput output
  • Addon architecture: fit, search, image, serialize, Unicode 11, and more
  • Accessibility support with screen reader mode
  • Link detection and click handling for URLs in terminal output
  • Lightweight core (~200 KB gzipped) with tree-shakable addons

Comparison with Similar Tools

  • Terminal.js — simpler terminal rendering; xterm.js has broader escape sequence support and addons
  • hterm (Chrome OS) — Google's terminal component; xterm.js has wider community adoption and addon ecosystem
  • Terminalizer — records terminal sessions as GIFs; xterm.js is a live interactive emulator
  • blessed / blessed-contrib — Node.js TUI library for server-side rendering; xterm.js runs in the browser
  • ttyd — web-based terminal sharing tool; uses xterm.js internally for its frontend rendering

FAQ

Q: Does xterm.js include a shell? A: No. It is a frontend rendering component. You connect it to a backend shell process via WebSocket or a similar transport.

Q: Which products use xterm.js? A: Visual Studio Code, Hyper, Theia, code-server, Azure Cloud Shell, Google Cloud Shell, and many more.

Q: Can I customize the look and feel? A: Yes. Colors, fonts, cursor style, scrollback size, and other visual properties are configurable through the options API.

Q: Does it support images in the terminal? A: Yes, via the image addon, which supports the iTerm2 and Sixel inline image protocols.

Sources

Discusión

Inicia sesión para unirte a la discusión.
Aún no hay comentarios. Sé el primero en compartir tus ideas.

Activos relacionados