Introduction

Termina is a cross-platform terminal emulator. It runs your shell on a real pseudo-terminal and draws the screen with JavaFX, with tabs, several windows, a menu bar and a command palette. It is free and open source under the MIT License.

It runs on macOS (Apple Silicon and Intel), Windows (x64) and Linux (x64 and arm64). The installers bundle their own Java runtime, so there is nothing else to install.

Version 0.10.0, released on 2026-10-23, is the latest release. Downloads are on the releases page.

How it is built

A terminal does three jobs, and Termina writes only one of them.

LayerWhat it doesWho does it
PTYStarts the shell on a pseudo-terminal and moves bytes in and outpty4j
EmulationReads the escape sequences programs write and keeps the screen and scrollbackJediTerm
Rendering and inputPaints the screen, encodes keys and the mouse, and is everything you clickTermina
  • The emulator is JediTerm’s, the one inside JetBrains’ IDEs. xterm compatibility is a long tail of cursor modes, character sets, scroll regions and mouse formats, and a mistake there shows up as a program quietly misbehaving. JediTerm has already been through that.
  • The PTY is pty4j’s. Java has no pseudo-terminal API, and the platforms disagree on how one works (forkpty on macOS and Linux, ConPTY on Windows). One pty4j library covers all of them.
  • The rest is Termina’s: the renderer, the key and mouse encoding, the tabs and windows, the settings and the shell profiles.

Programs running inside see TERM=xterm-256color and COLORTERM=truecolor.

What is in 0.10.0

  • Tabs and windows. A tab is named after the program running in it, or the directory it is in. You can rename it with a double-click, drag it to reorder, reopen it after closing, and duplicate it. A dot marks a background tab where something happened. Closing a tab that is still running something asks first.
  • Shell profiles. Termina finds the shells a machine has. On macOS and Linux that means the shells in /etc/shells and on the path. On Windows it means both PowerShells, Command Prompt, Git Bash and each WSL distribution. You can add profiles of your own.
  • Selection and the mouse. Drag to select, double-click for a word, triple-click for a line. vim, htop and other mouse-aware programs get the mouse; holding Shift takes it back.
  • Links. Ctrl-click (Cmd-click on macOS) opens a URL, or a file path that exists, including a Foo.java:42 out of a stack trace.
  • A command palette on Alt+X, Emacs’s M-x, listing every command, open tab, profile and theme.
  • Keys that leave the shell alone. Application chords are Ctrl+Shift on Linux and Windows, so Ctrl+W, Ctrl+T and Ctrl+C still reach the shell. Help → Keyboard Shortcuts lists every shortcut, searchable.
  • Four themes, five bundled monospace fonts, zoom, window opacity and six interface languages.
  • Safer pastes. A paste that contains a line break asks first, and control characters are stripped before the text is sent.
  • Native installers for every platform, and a command line (-e, -d, --config-dir).

Not in 0.10.0: split panes, search in the scrollback, and changing any shortcut except the palette’s.

Start here

  • Getting started: install Termina, open it, and learn the handful of keys worth knowing.
  • Keyboard: why the chords are what they are, the palette, and the keys the terminal handles itself. The full list is on the Keybindings page.

By area

Using it:

Customization:

  • Keyboard: chords, the command palette, Meta and AltGr.
  • Appearance: themes, fonts, zoom, the cursor, the window and the language.
  • Settings: the Settings window, every page, and the settings file.

Help:

  • Troubleshooting: titles, icons, full screen, opening an unsigned build, and the debug log.
  • FAQ.