Ghostty: Native GPU-Accelerated Terminal Emulator for macOS and Linux
Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration.
At a glance
- What is it?
- Ghostty is a MIT-licensed terminal emulator written in Zig that uses platform-native UI (SwiftUI on macOS, GTK on Linux) and GPU acceleration (Metal on macOS, OpenGL on Linux) to deliver competitive performance alongside a feature set that most fast terminals sacrifice. It is not available on Windows.
- Who is it for?
- Ghostty is worth evaluating for developers on macOS or Linux who want a terminal that combines the speed of Alacritty with a richer feature set and a genuinely native UI. It is not available on Windows.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 4 days ago.
- What is it written in?
- Mainly Zig, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 25, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What Ghostty Solves and Who It Is For
Terminal emulators have historically required a trade-off: fast terminals such as Alacritty achieve performance by stripping features, while feature-rich terminals such as iTerm2 accept lower throughput. Ghostty's stated goal is to avoid that choice. The README describes it as fast, feature-rich, and native, aiming to provide all three.
The primary target is developers on macOS and Linux who use a terminal as their primary working environment and want GPU-accelerated rendering, Kitty graphics protocol support, and a native application experience without running an Electron shell. The README notes that Ghostty is in use by millions of people and machines daily.
Architecture: Multi-threaded Design and SIMD Parsing
Each terminal in Ghostty runs on three dedicated threads: a read thread, a write thread, and a render thread. This separation prevents a slow rendering frame from blocking the input path, which matters for interactive sessions where keystrokes must be processed even while the display is catching up.
The read thread uses a terminal parser that the README describes as heavily optimized, leveraging CPU-specific SIMD instructions. The renderer uses Metal on macOS and OpenGL on Linux. CoreText handles font discovery on macOS, which gives the application access to the system font registry rather than maintaining its own font database.
Ghostty's standards compliance includes a comprehensive xterm audit mentioned in the README, comparing Ghostty's behaviour to xterm and building a set of conformance test cases for legacy sequences alongside modern additions such as the Kitty graphics protocol, clipboard sequences, synchronized rendering, and light and dark mode notifications.
Platform-Native UI: SwiftUI on macOS, GTK on Linux
The macOS application is a true SwiftUI app. It includes real windowing, menu bars, a settings GUI, AppleScript support, and Apple Shortcuts via AppIntents. The README states the goal explicitly: Ghostty should feel as if it were built for each platform first and exclusively, not as a cross-platform least-common-denominator.
The Linux application is built with GTK. It integrates with systemd when available for features like always-on operation, new windows in a single instance, and cgroup isolation. Both platforms share a large core written in Zig, but the UI layers are fully separate native implementations. The README confirms that multi-window, tabbing, and split panes are supported on both macOS and Linux builds.
Installing Ghostty and Getting Started
The README points to the download page at ghostty.org/download for prebuilt binaries. Building from source requires Zig. The repository includes a Makefile that wraps zig build:
zig buildFor development and cleanup, the Makefile defines a clean target:
make cleanThis removes zig-out, .zig-cache, and the macOS-specific macos/build and GhosttyKit.xcframework directories. The full build and configuration documentation is at ghostty.org/docs, which the README links as the primary reference for setup options, keybindings, and the configuration format.
libghostty: Embedding the Terminal in Other Applications
Beyond the standalone application, the repository ships libghostty, described as a cross-platform, zero-dependency C and Zig library for building terminal emulators or embedding terminal functionality in other applications. It is compatible with macOS, Linux, Windows, and WebAssembly.
The library is broken into separate components, starting with libghostty-vt, which covers parsing terminal sequences and maintaining terminal state. The example/ directory in the repository contains minimal C and Zig projects showing how to use libghostty-vt. The example subdirectories include c-vt-render, c-vt-colors, c-vt-kitty-graphics, and others, each demonstrating a specific capability. A minimal complete project called Ghostling is also referenced in the README as an example of using the library.
Ghostty vs Alacritty: The Difference in Trade-offs
Alacritty is the most directly comparable alternative. Both are GPU-accelerated terminals written in systems languages, and the README explicitly names the comparison: Ghostty and Alacritty are usually within a few percentage points of each other on benchmarks, both being substantially faster than Terminal.app and iTerm.
The difference is in what each sacrifices for that speed. Alacritty deliberately avoids tabs, splits, and a native settings GUI to maintain minimal scope. Ghostty includes all of these, implemented through native platform APIs rather than a bundled UI toolkit. This means Ghostty trades a smaller codebase for a wider feature set, while Alacritty trades a wider feature set for a simpler one. Teams who want a fast terminal without maintaining Ghostty's Zig-plus-Swift-plus-GTK stack may find Alacritty easier to reason about in a managed environment.
Windows Support and Limitations
Ghostty does not support Windows as a host platform. The README's platform coverage describes macOS and Linux builds in detail, and libghostty-vt is listed as compatible with Windows, but the full GUI application requires either SwiftUI or GTK, neither of which is the native Windows UI framework.
The GitHub repository tracks only a tip (nightly) release dated 2022-11-17, despite the project being in active development. Stable versioned releases are managed outside GitHub. This means standard GitHub release monitoring tools and version pinning based on GitHub release tags do not work for tracking new Ghostty versions.
Configuration is file-based. The README does not describe the configuration format directly; it points to ghostty.org/docs for that information. Teams deploying Ghostty across machines need to consult the online documentation to understand the config file syntax before scripting a fleet deployment.
Maintenance and License
The repository is not archived and the last push was on 2026-09-25. The project is licensed under MIT. The README roadmap table shows that standards-compliant terminal emulation, competitive performance, rich windowing, native platform experiences, and cross-platform libghostty are all marked complete. The remaining item, Ghostty-only terminal control sequences, is marked as not yet done.
The repository contains an AI_POLICY.md and AGENTS.md, which document how AI-assisted contributions are handled. The project accepts pull requests via GitHub, unlike FFmpeg, so the standard contribution workflow applies.
Editorial conclusion
Ghostty is worth evaluating for developers on macOS or Linux who want a terminal that combines the speed of Alacritty with a richer feature set and a genuinely native UI. It is not available on Windows. Developers who need Windows support should look elsewhere. Before adopting it, check the download page at ghostty.org for the current supported platform versions, since the README notes it is stable and in use daily but the GitHub repository tracks only a nightly tip release rather than point-release tags.
Frequently asked questions
What is Ghostty for?
Ghostty is a terminal emulator for macOS and Linux that prioritises native UI, GPU-accelerated rendering, and a wide feature set including tabs, panes, and the Kitty graphics protocol. It also ships libghostty, a C and Zig library for embedding a terminal in other applications.
Is Ghostty on Windows?
No. Ghostty's GUI application supports macOS and Linux. The libghostty-vt library is listed in the README as compatible with Windows and WebAssembly, but the full terminal application with SwiftUI or GTK UI is not available on Windows.
How do I install Ghostty?
Prebuilt binaries for macOS and Linux are available at ghostty.org/download. Building from source requires Zig and can be done with zig build from the repository root.
Why use Ghostty instead of the default terminal?
Ghostty uses GPU acceleration through Metal on macOS and OpenGL on Linux, a multi-threaded architecture with dedicated read, write, and render threads per terminal, and supports modern sequences like the Kitty graphics protocol. The default macOS Terminal.app and most Linux terminal emulators do not offer all of these together.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/ghostty-org-ghostty)
Community notes