xtermjs/xterm.js

A terminal for the web

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 24 minutes ago
Added to GitGenius on September 2nd, 2026
Created on March 24th, 2014
Open Issues & Pull Requests: 244 (+0)
GitHub issues: Enabled
Number of forks: 1,972
Total Stargazers: 21,150 (+0)
Total Subscribers: 185 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

Xterm.js is a frontend component that brings fully-featured terminal emulation to web browsers. It enables applications to render interactive terminals that users can interact with directly in the browser, supporting standard terminal applications and protocols.

The tool solves the problem of running terminal-based applications in web environments by implementing a VT100-compatible terminal emulator in JavaScript. It handles the rendering of terminal output, keyboard input, and mouse events, allowing web applications to display and interact with terminal sessions. The approach works by providing a JavaScript library that can be instantiated on a DOM element and connected to a backend process through a pseudoterminal API like node-pty, which bridges the gap between browser input and actual shell processes.

Xterm.js suits projects that need to expose terminal functionality through a web interface, such as cloud IDEs, remote development tools, or web-based system administration dashboards. The tool is particularly valuable for applications requiring support for complex terminal applications like vim, tmux, and curses-based programs, along with rich Unicode handling for CJK characters and emojis. It distinguishes itself through performance optimizations including an optional GPU-accelerated renderer, zero dependencies in the core library, accessibility features like screen reader mode, and a comprehensive addon system for extending functionality. The project is used by established applications including VS Code and its forks, Tabby, and Hyper.

Development activity shows consistent engagement with the codebase through regular commits addressing both features and maintenance. The project maintains active issue triage and responds to user questions and bug reports. Pull requests receive review and integration at a steady pace, indicating ongoing development rather than dormancy. Documentation is actively maintained alongside code changes, with examples and API documentation kept current with the implementation.