DomTerm is an terminal emulator based on web technologies. Beyond solid xterm compatibility, it supports powerful features for REPL (read-eval-print-loop) consoles: Application output can have images, rich text, and links, with structure-based line-breaking (pretty-printing), and folding. There is also input editing; automatic paging; screen multiplexing (panes and tabs); and session management (like tmux or GNU screen).

This article provides an overview of the functionality. This old LWN article provides background, motivation, and a summary of the functionality.

The domterm command runs a server that manages sessions (usually shell processes). The user interface and terminal emulation is handled by a JavaScript library that can run in a regular web browser or an embedded browser such as Electron, using Web Sockets to talk to the server.

The name “DomTerm” refers to how it works by manipulating the Document Object Model (DOM) of a browser: the nested structure of elements, text, and attributes.

DomTerm is Free Software (open-source) available at

There is a mailing list at with an information page and archives.

Highlights and recent changes