Every Mac ships with Terminal.app, so like most people that's where I started. After a while I wanted split panes and a hotkey window that drops down on a keypress, so I moved to iTerm2, the tool Mac developers have relied on for years.
I stayed on iTerm2 for a long time, until this week I gave Ghostty a serious try. I expected to just poke at it, but once it was set up it was the one I didn't want to move back from. So here's how the three actually differ, and who each one is for, from having run all three myself.
Part 1The criteria that actually decide it (not the looks)
Every terminal looks alike on open: black window, light text. However pretty a theme is, you can tune that on any of them. What actually separates them when you use one all day comes down to a few things.
- Render speed. When you
cata long file or a log floods the screen, a GPU-rendered terminal scrolls visibly smoother. - Can you configure it as a file? This matters more than it sounds. A single config file means a new machine is one copy away, you can keep it in git, and you can roll it back, unlike clicking each setting again in a GUI.
- Features you actually use. Split panes, a hotkey window, in-screen search, remembering directories. Some have the full set, some only the basics.
- Cross-machine / cross-OS. If you also work on Linux, using the same tool in both places is one less thing to hold in your head.
Those four are what I compared on, not who has more themes.
Part 2The three, compared
Straight comparison on the criteria above. The colored cell is the standout in each row.
| Criterion | Terminal.app | iTerm2 | Ghostty |
|---|---|---|---|
| Speed / rendering | Basic, no GPU | Fast enough, tunable | GPU-accelerated by design |
| Configuration | Limited GUI | Very deep GUI, click by click | One file, sync/git-able |
| Features | tabs, profiles, splits (basic) | Most: splits, hotkey, triggers, profiles, shell integration | The essentials: tabs, splits, dropdown |
| Platform | macOS (built in) | macOS only | macOS + Linux |
| Price / open source | Free (closed) | Free | Free, open source (MIT) |
| Best for | Not installing anything | Wanting the deepest features | Wanting speed + config-as-file |
To be straight about it: iTerm2 wins the feature depth outright. If you've set up triggers, multi-host profiles, or lean on deep shell integration, Ghostty doesn't yet match all of that. And Terminal.app isn't as featureless as people assume: it does have split panes (per Apple's guide), it just can't be configured as a file and doesn't GPU-accelerate.
Part 3Verdict: who should pick which
There's no single "best" in the abstract. It depends on what you value.
- Pick Ghostty if you want GPU speed plus a single config file you keep in your dotfiles and copy to a new machine instantly, and maybe work on Linux too. That's why it's the one still on my machine.
- Stay on iTerm2 if your workflow leans on its specific features: triggers, the hotkey window, multi-host profiles. Losing those to switch isn't worth it.
- Terminal.app is enough if you open a terminal to run the occasional command and don't want to install or configure anything. It's already there and opens instantly.
The real reason Ghostty stayed on my machine isn't the speed, it's the config-as-a-file. When every setting is text in one file, it lives in git, a new machine is one copy away, and you never have to remember which GUI checkbox you flipped where. For anyone working across several machines, that beats frame rate.
One caution: setting up modern terminals like these, you'll often be handed a "one command does it all" script to run. Don't rush to paste it, especially the kind that pipes a script off the internet straight into your machine, because it can rewrite your entire shell config. That's the next post, setting up Ghostty + Zsh without the one-command script, on installing piece by piece instead.
- Setting up Ghostty + Zsh without the one-command installer: building a dev environment piece by piece, safely and reversibly.
- The safety filter that was silently deleting data: the same principle, knowing what your tools do with your stuff.
- The verdict and experience are from running all three myself (Terminal.app, then iTerm2, then switching to Ghostty this week). The speed impressions are my own observation, not benchmark numbers.
- Ghostty, ghostty.org describes it as a "fast, feature-rich, cross-platform terminal emulator that uses platform-native UI and GPU acceleration", and About (native macOS+Linux, native tabs/splits/dropdown); MIT licensed.
- iTerm2, Features (split panes, hotkey window, search, triggers, profiles, shell integration; a macOS app).
- Apple, Terminal User Guide · split windows into panes (confirms Terminal.app can split panes).