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.
| Layer | What it does | Who does it |
|---|---|---|
| PTY | Starts the shell on a pseudo-terminal and moves bytes in and out | pty4j |
| Emulation | Reads the escape sequences programs write and keeps the screen and scrollback | JediTerm |
| Rendering and input | Paints the screen, encodes keys and the mouse, and is everything you click | Termina |
- 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 (
forkptyon 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/shellsand 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 aFoo.java:42out of a stack trace. - A command palette on
Alt+X, Emacs’sM-x, listing every command, open tab, profile and theme. - Keys that leave the shell alone. Application chords are
Ctrl+Shifton Linux and Windows, soCtrl+W,Ctrl+TandCtrl+Cstill 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:
- Tabs and windows: opening, naming, moving and closing tabs, and windows.
- Shell profiles: which shells are found, and adding your own.
- Selection and the mouse: selecting, copying, pasting, and programs that use the mouse.
- Links: opening URLs and file paths from the screen.
- The command line:
-e,-d,--config-dirand--version.
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.