Ghostty

Ghostty

GPU-Accelerated Terminal

Description

Ghostty is a terminal emulator written in Zig by Mitchell Hashimoto, one of HashiCorp’s founders. It makes two less common choices: drawing goes to the GPU, and the interface is built from each platform’s own native toolkit — SwiftUI/AppKit on macOS, GTK4 on Linux — rather than a cross-platform layer. Scrolling and redraw feel immediate as a result, and windows, menus and shortcuts behave like every other application on the system.

The other emphasis is completeness of terminal protocol support. Many emulators implement only the escape sequences that come up often, and unusual programs then render incorrectly; Ghostty goes considerably further, and it also speaks Kitty’s graphics and keyboard protocols, so showing an image in the terminal or distinguishing between Ctrl combinations works properly. The defaults are usable as they are, with no configuration file needed to get started.

Builds are available for macOS (13 and later, as a universal binary) and Linux. There is no Windows version, so Windows users are out of luck for now.

Features



GPU rendering: Glyph drawing is handed to the graphics card, so heavy output and fast scrolling do not drop frames and paging through a long log stays smooth.

Native interface: Each platform uses its own UI framework, so title bars, menus and shortcuts match system conventions instead of feeling like a transplanted application.

Tabs and splits: Several tabs live in one window and panes split horizontally or vertically, so watching a few processes at once does not mean a pile of windows.

Strong protocol compatibility: Escape sequence coverage is unusually thorough, and support for the Kitty graphics and keyboard protocols means in-terminal images and complex key combinations behave correctly.

Fonts and ligatures: Font ligatures and complex text shaping are supported, so the arrows and comparison operators in programming fonts compose as intended.

Usable out of the box: The defaults are a working setup with no config file required, while the configuration options are extensive if you do want to tune it.