Ghostty
Terminal emulator written in Zig with GPU rendering and a native UI on each platform: Swift/AppKit on macOS, GTK on Linux.
Ghostty is a terminal emulator for macOS and Linux that tries to be fast, feature-rich and native at the same time. A large shared core is written in Zig, and each platform gets its own UI: the macOS app is a SwiftUI application with real windowing and menu bars, and the Linux app is built with GTK. Windows support is planned but not yet available. The project also publishes libghostty, a C and Zig library for embedding terminal functionality in other programs. Its first component, libghostty-vt, handles sequence parsing and terminal state, though its API is still changing.
Each terminal gets its own read, write and render threads, and the parser uses CPU-specific SIMD instructions. Rendering uses Metal on macOS and OpenGL on Linux. Multiple windows, tabs and splits are built in and drawn with native components, including native macOS tabs. The macOS app adds a Quick Terminal that drops down below the menu bar, an AppleScript dictionary for scripting windows, tabs and input, and secure keyboard entry that detects password prompts. On Linux, Ghostty can use systemd, if available, for a single-instance mode and cgroup isolation.
Configuration is a plain-text file of key = value lines (config.ghostty under ~/.config/ghostty/, or the Application Support directory on macOS) with hundreds of options. Ghostty is meant to work without any configuration: it embeds JetBrains Mono and Nerd Font symbols, and ships hundreds of themes that can switch with the system's light or dark mode. Ligatures work, and individual font features can be turned on or off. Shell integration is injected automatically for bash, elvish, fish, nushell and zsh, adding prompt jumping, opening new terminals in the previous working directory, and selecting a command's output.
For applications, Ghostty follows xterm behavior and adds the Kitty graphics and keyboard protocols, synchronized rendering, clipboard sequences and light/dark mode notifications. Multi-codepoint emoji render as single characters, but only left-to-right text is supported. Remote hosts that lack Ghostty's terminfo files are a common source of problems. Shell integration can wrap ssh and sudo to deal with this (both are off by default), and a drop-in ghostty +ssh wrapper is planned for version 1.4.
Ghostty alternatives
Windows Terminal
Microsoft's terminal for Windows that hosts PowerShell, cmd and WSL shells in tabs and panes, with GPU text rendering and JSON settings.
gpu · mux · ligatures · images
Tabby
Cross-platform Electron terminal with a built-in SSH, Telnet and serial client, saved connection profiles and a plugin system.
mux · ligatures · images
Alacritty
Cross-platform OpenGL terminal emulator written in Rust, configured with a TOML file and leaving tabs and splits to a multiplexer like tmux.
gpu
Warp
Terminal written in Rust with an IDE-style command editor, command output grouped into blocks, and built-in AI agents.
gpu · ligatures
Termux
Android terminal emulator and Linux environment that installs packages through its own apt repository, no root required.
Hyper
Electron terminal built on HTML, CSS and JavaScript, themed and extended through npm plugins.
mux · ligatures · images
add a badge to your README
Maintain Ghostty? Show that it's featured on trmn. The badge links back to this page.
[](https://www.trmn.sh/terminals/ghostty?utm_source=badge)<a href="https://www.trmn.sh/terminals/ghostty?utm_source=badge"><img src="https://www.trmn.sh/badge/terminals/ghostty.svg" alt="Featured on trmn" height="20"></a>