# Extraterm

> Terminal emulator in TypeScript on Qt and Node.js with framed command output, inline images, a command palette and extensions.

Stars: 2.8k · Language: TypeScript · License: MIT · Platforms: Linux, macOS, Windows · Config: json

Features: cross-platform, built-in multiplexer, ligatures, inline images, configurable

- Repository: https://github.com/sedwards2009/extraterm
- Page: https://www.trmn.sh/terminals/extraterm

## Overview

Extraterm is an open source terminal emulator for Linux, macOS and Windows, written in TypeScript by Simon Edwards. The README calls it a project to expand the terminal with features for modern workflows, and the user guide describes its design as maximalist. It suits people who want shell output handled as structured blocks and are willing to trade some resource use and polish for features that most terminals do not have.

The current version, released as ExtratermQt from 0.60.0 onward, runs on Qt 6 and Node.js through NodeGui. It replaced the older Electron version, which stopped at 0.59.4 in January 2022, and both can be installed side by side. Many features are implemented as extensions that can be enabled or disabled in the Extensions settings tab, and the features page notes that some features are still only in the old Electron version.

Settings are changed through a Settings tab opened from the hamburger menu, with tabs for general options, appearance, session types, keybindings, frames and extensions. They are stored as JSON, mainly `extraterm.json`, in an `extratermqt` directory under the platform's config location such as `~/.config/extratermqt/` on Linux, alongside folders for user themes and keybindings. Placing an `application_paths.json` next to the executable moves the settings directory, which allows a portable install. Built-in keybinding sets cannot be edited directly; you duplicate one and change the copy.

With the bash, zsh or fish shell integration, each command's output is placed in a frame that shows its exit status and can be deleted, collapsed or moved to its own tab. The `show` command displays files and images in the terminal, and the `from` command feeds a previous frame's output, from any tab, into a new command. Other features include a command palette, a mini-map of the scrollback, tabs that can be dragged into splits or separate windows, a regex-based Colorizer, ligatures, iTerm2 themes and iTerm2-style inline images. The project is not at 1.0 and the site asks users to tolerate the occasional bug. Rendering uses Qt's painter rather than the GPU, and the 0.82.0 release, from May 2026, ships only Linux and Windows builds.

## Alternatives

- [Windows Terminal](https://www.trmn.sh/terminals/windows-terminal.md): Microsoft's terminal for Windows that hosts PowerShell, cmd and WSL shells in tabs and panes, with GPU text rendering and JSON settings. (Windows, 105.3k stars)
- [Tabby](https://www.trmn.sh/terminals/tabby.md): Cross-platform Electron terminal with a built-in SSH, Telnet and serial client, saved connection profiles and a plugin system. (Linux/macOS/Windows, 75.2k stars)
- [Alacritty](https://www.trmn.sh/terminals/alacritty.md): Cross-platform OpenGL terminal emulator written in Rust, configured with a TOML file and leaving tabs and splits to a multiplexer like tmux. (Linux/macOS/Windows/BSD, 66.1k stars)
- [Warp](https://www.trmn.sh/terminals/warp.md): Terminal written in Rust with an IDE-style command editor, command output grouped into blocks, and built-in AI agents. (macOS/Linux/Windows, 65.7k stars)
- [Termux](https://www.trmn.sh/terminals/termux.md): Android terminal emulator and Linux environment that installs packages through its own apt repository, no root required. (Android, 63.6k stars)
- [Ghostty](https://www.trmn.sh/terminals/ghostty.md): Terminal emulator written in Zig with GPU rendering and a native UI on each platform: Swift/AppKit on macOS, GTK on Linux. (Linux/macOS, 62.8k stars)
- [Hyper](https://www.trmn.sh/terminals/hyper.md): Electron terminal built on HTML, CSS and JavaScript, themed and extended through npm plugins. (Linux/macOS/Windows, 44.8k stars)
- [Kitty](https://www.trmn.sh/terminals/kitty.md): GPU-rendered terminal written in C and Python, with its own graphics protocol, built-in tabs and splits, and scriptable 'kittens'. (Linux/macOS/BSD, 35.5k stars)

---

Canonical: https://www.trmn.sh/terminals/extraterm
