The best terminal apps for Mac, chosen by how you actually work

Every list of the best terminal apps for Mac contains the same names in a slightly different order, which is not much help when you are trying to decide what to install. The ranking is not the useful part. What decides the answer is how you work: whether you keep settings in a window or in a text file, whether you live inside SSH sessions, whether you want images in the terminal, and whether your day is mostly commands or mostly commands plus a folder of material.

This compares the main options by those questions, with the current version, licence and configuration style for each, so the trade-offs are visible rather than implied.

The shortlist, side by side

Terminal Licence and price Configured with Where it is strongest
Apple Terminal 2.15 Included with macOS Settings window, profiles Already installed, profiles, window groups, marks and bookmarks
iTerm2 3.7.2 GPL v2, free Large settings window Split panes, hotkey window, triggers, shell integration, tmux integration
Ghostty 1.3.1 MIT, free Text file, key = value Native macOS UI, GPU rendering, Quick Terminal, AppleScript dictionary
kitty GPL-3.0, free Text file Graphics protocol, Python kittens, remote file editing in an SSH session
WezTerm Free, open source Lua Built-in multiplexing and SSH domains
Alacritty Free, open source TOML Minimal by design; the README says tabs and splits are left to a multiplexer
Warp Free tier; paid plans start at $20 per month on its pricing page Settings UI plus an account Agent-oriented workflow, cloud features

Versions and prices were checked today on each project's own site or App Store listing. All the open source options run on Apple Silicon and Intel.

If you want to install nothing: Apple Terminal

The terminal that ships with macOS is better than its reputation, mostly because few people read its guide. Apple's documentation describes profiles, which collect colours, font, cursor, window, tab, shell and keyboard behaviour into named sets, and Terminal ships with predefined ones you can copy and modify. Window groups save an arrangement of windows and tabs so it reopens the way you left it, with an option to restore remote connections and commands that are safe to run without confirmation.

Its keyboard shortcut list also reveals features people miss entirely. Terminal can split a window into two panes with Cmd+D. It has marks and bookmarks, so you can jump between command boundaries with Cmd plus the up and down arrows, and clear to the previous mark. There is a New Remote Connection command on Shift+Cmd+K for saved SSH connections, an Inspector, and export of the session text to a file.

From the Finder side, Apple documents opening a folder in Terminal directly: show the path bar, Control-click a folder in it, and choose Open in Terminal, or Services and New Terminal Tab at Folder.

What you do not get is the density of features the third-party terminals have added, or a text configuration file you can keep in a repository. If your terminal use is occasional, that is a fine trade.

If you want every option in a window: iTerm2

iTerm2 has been the default recommendation on macOS for years, and it earns that with breadth. The current stable release listed on its site is 3.7.2, built in September 2026, for macOS 13 and later, licensed under GPL v2.

Its own feature list is the argument: split panes in any arrangement with inactive panes dimmed, a hotkey window that brings a terminal to the front from any app, search with regular expression support, autocomplete from words seen in the window, paste history, Instant Replay for recovering text that scrolled away, triggers that run actions when output matches a pattern, smart selection, and shell integration. It also has real tmux integration, which the changelog references in the form of tmux -CC attachments, so a remote tmux session can drive native iTerm2 tabs and panes.

The cost of that breadth is the settings window, which is large enough to be its own learning curve. People who prefer a text file will find that friction, and people who want every knob will consider it the reason to choose it.

If you want native and fast: Ghostty

Ghostty is a newer option that aims at speed, features and native behaviour at once rather than choosing two. Version 1.3.1 is the current release, MIT licensed, a universal binary requiring macOS 13 or later.

On macOS its interface is written in Swift with AppKit and SwiftUI, sitting on a shared Zig core, and rendering uses Metal. Tabs and splits are real macOS components rather than drawn inside the terminal. The macOS-specific list includes a Quick Terminal that drops down from the menu bar, an AppleScript dictionary for scripting windows and layouts, Quick Look on a three-finger tap, and Secure Keyboard Entry that can detect password prompts.

Configuration is a text file with key = value lines, and every key doubles as a command-line flag, which makes trying a setting easy. There is no graphical settings window yet; the documentation lists that as planned. One practical caveat: Ghostty sets TERM to xterm-ghostty, which most remote hosts do not know, and the +ssh wrapper that installs the entry automatically is documented as requiring the version that will become 1.4.0.

If your terminal is a programmable tool: kitty and WezTerm

These two go furthest in treating the terminal as something you build on.

kitty is GPL-3.0 licensed and GPU based. Its own summary highlights graphics with images and animations, control from scripts or the shell, extensions written in Python called kittens, startup sessions that recreate a working environment, programmable tabs, splits and layouts, browsing the output of the last command in a pager or editor, and editing or downloading remote files inside an existing SSH session. That last one removes a genuine annoyance: fixing a config file on a remote host without a second connection.

WezTerm is configured in Lua, which means the configuration is a program rather than a list of settings. Its documentation covers built-in multiplexing and SSH domains, so the terminal itself can hold and reattach sessions across machines rather than delegating that to tmux. It is Apache-2.0 licensed and cross-platform.

Both reward time spent on them and both are more than most people need. If you have never wanted to script your terminal, that is a signal.

If you want as little as possible: Alacritty

Alacritty is explicit about its scope, which is refreshing. Its README states you will not find tabs or splits, because those are best left to a window manager or a terminal multiplexer, nor a graphical configuration editor. Configuration is TOML in ~/.config/alacritty/alacritty.toml. The project describes itself as being at a beta level of readiness while noting it is already a daily driver for many.

Paired with tmux, this is a complete setup, and a fast one. On its own it is deliberately spare.

If the agent is the point: Warp

Warp has moved towards AI coding work rather than terminal emulation alone. Its pricing page lists a Free plan at $0 with core terminal features and limited cloud agent access, then paid plans starting at $20 per month that include agent usage credits, with higher tiers above that. Whether that fits depends on whether you want the terminal and the agent to be the same product, or whether you prefer running whichever agent CLI you like inside a terminal that stays out of the way.

The things worth testing before you commit

Installing a terminal takes a minute. Finding out whether it suits you takes a week, and these are the checks that surface a mismatch early.

Your font at your size. Ligatures, nerd font glyphs and powerline symbols either render the way you expect or they do not, and this is the most common reason people switch back. Open your prompt, your editor and a program that draws boxes, and look at it rather than reading about it.

A large amount of output. Run something that prints tens of thousands of lines and see whether the window stays responsive and whether the scrollback keeps what you need. Terminals differ more here than in typing latency.

The keyboard shortcuts you use without thinking. New tab, new split, move between splits, clear, search. If any of them need relearning, decide now whether to rebind them or adapt, because half-remembered bindings are a daily tax.

A full-screen program over SSH. Connect to a host you actually use and run an editor or a pager. This is where terminfo differences show up as stray characters or a broken layout, and where a terminal that sets an unusual TERM value asks something extra of you.

The window layout you work in. Some people want one window with many tabs, others want four windows tiled by the system, others want a drop-down panel on a hotkey. Terminals are opinionated about this, and the one that matches your habit will feel better regardless of its feature list.

Two more points are easy to overlook. Startup time matters more than it sounds, because a terminal you open thirty times a day is a different thing from one you leave open for a week. And whether settings live in a file you can commit decides how painful setting up your next Mac will be.

The part none of them solve

Every terminal above answers the same question: how good is the window where you type commands. None of them answer the question that follows, which is where the material you are working on lives.

If your day involves commands and a folder of files together, and most days do, you end up in the switch: terminal in one app, files in another, an editor in a third, checking a result in a fourth. A terminal multiplexer helps with sessions, not with that. The tools that address it are file managers with a terminal built into the same window, where the terminal follows the folder you are looking at and each folder keeps its own session. The features page shows what that looks like, and the comparison page sets it against the apps people usually run side by side.

What to change first

Pick by the question that matters most to you rather than by a ranking. If you have never configured a terminal, open the one already installed and read Apple's guide to profiles and window groups first, because you may not need anything else. If you want a fast native app with sensible defaults, install Ghostty. If you want every feature exposed in a window, install iTerm2. And if the friction you actually feel is switching between the terminal and your folders, Atriens puts them in one window.

Frequently asked questions

Is iTerm2 still worth installing?

Yes, if you want breadth. The current stable release is 3.7.2, it is free under GPL v2, and its split panes, hotkey window, triggers and tmux integration remain features that newer terminals do not all match.

Is Ghostty faster than iTerm2?

Both are fast enough for typing. Ghostty's GPU rendering and native components show up most at launch and when a command produces a large amount of output. For everyday work the difference is smaller than the difference in how they are configured.

Which Mac terminal is best for SSH work?

WezTerm builds multiplexing and SSH domains in, and kitty can edit or download remote files inside an existing SSH session. If you already use tmux, any of them works, because the session lives on the remote machine rather than in the terminal.

Does the terminal app affect how fast commands run?

No. The command runs in the shell and the operating system. The terminal affects how quickly output is drawn, how much scrollback it keeps, and how pleasant the window is to work in.

Do any of these keep sessions alive if the connection drops?

WezTerm's multiplexing and iTerm2's tmux integration come closest. For everything else, a shell session that survives a dropped connection means tmux, screen or Mosh, regardless of which terminal you chose.

Back to all posts