Skip to content

vterm.js

App Terminal

Full-featured TypeScript terminal emulator targeting 100% of the terminfo.dev feature matrix.

vterm.js is a comprehensive terminal emulator library written in pure TypeScript with zero dependencies. It targets 100% coverage of the terminfo.dev feature matrix — every SGR attribute (including blink, overline, curly/dotted/dashed underline with independent colors), all cursor shapes (DECSCUSR), every DEC private mode, OSC 8 hyperlinks, device attribute responses (DA1/DA2/DSR/DECRPM), DEC Special Graphics character sets, synchronized output, and full Unicode width handling including emoji ZWJ sequences and variation selectors.

vterm.js is the default backend for Termless — the headless terminal testing framework that powers terminfo.dev's probe infrastructure. Where vt100.js covers ~58% of the feature matrix (the common baseline), vterm.js targets 100% — including the edge cases, modern protocols, and obscure DEC sequences that comprehensive testing requires.

Pure TypeScript, zero dependencies, runs on any JavaScript runtime (Bun, Node.js, Deno, browsers). Provides an onResponse callback for DA1/DA2/DSR queries — enabling bidirectional terminal communication testing that most headless emulators can't do.

Analysis2026-04-06

vterm.js scores 91% (207/227) on the terminfo.dev feature matrix, with gaps in the Core TUI, Modern TUI, Rich TUI baselines. Ranks #3 of 12 tested terminals. Uniquely supports: iTerm2 Cell Size Reporting (OSC 1337), iTerm2 Capability Reporting (OSC 1337), OSC 5522 advanced clipboard. Missing 20 features.