All posts

Alacritty vs Kitty on macOS (2026)

·Terminal Candy ·6 min read

comparisonterminalmacosalacrittykitty

I have run both of these as my daily terminal for months at a time. They are both good. They are also aimed at two completely different people, and most comparisons bury that under a benchmark table.

Here is the honest version.

The philosophy split is the actual difference

Alacritty believes a terminal should be a fast rectangle that draws text. No tabs, no splits, no session management, no scrollback search UI, no image display. If you want those, that is what tmux is for. The feature list is short on purpose and the maintainers defend it.

Kitty believes the terminal should absorb the multiplexer. Tabs, splits with real layouts, sessions, a scriptable remote control protocol, an image protocol, and a whole plugin system called kittens. Kitty's position is that tmux exists because terminals were bad, and if you fix the terminal you do not need tmux.

Everything else follows from that. If you already know which of those two sentences you agree with, you already know your answer and you can stop reading.

Config

Alacritty is TOML, one file, ~/.config/alacritty/alacritty.toml. It moved off YAML a few versions back. Annoying migration, cleaner result.

[window]
padding = { x = 12, y = 12 }
decorations = "buttonless"
option_as_alt = "Both"
opacity = 0.95

[font]
size = 14.0
normal = { family = "JetBrains Mono", style = "Regular" }

[colors.primary]
background = "#1a1b26"
foreground = "#c0caf5"

That is most of what there is. The whole config reference fits in one page and you will read all of it once and never look again. There is no preferences window. There never will be.

Kitty is its own format, ~/.config/kitty/kitty.conf, and it is long.

font_family      JetBrains Mono
font_size        14.0
disable_ligatures cursor

background_opacity 0.95
background_image ~/pics/bg.png
background_tint 0.9

tab_bar_style    powerline
tab_powerline_style slanted

macos_option_as_alt yes
macos_titlebar_color background
macos_quit_when_last_window_closed yes

map cmd+d launch --location=vsplit
map cmd+shift+d launch --location=hsplit

Kitty's reference is enormous. That is a feature and a cost. You can make it do nearly anything, and you will spend a weekend finding out how.

Kitty also ships kitten themes, a live browser of a few hundred color schemes you can preview and apply from the terminal itself. Genuinely the nicest theme picker in any terminal, worth trying even if you end up elsewhere.

Speed

Both are GPU accelerated. Both are far past the threshold where a human notices.

Alacritty tends to win pure-throughput microbenchmarks. Kitty tends to win input latency measurements. Both camps publish numbers that favor themselves, which should tell you how meaningful the gap is.

What matters day to day on Apple Silicon: neither will drop frames when Claude Code dumps a thousand lines of diff at you. Pick on features, not benchmarks.

Fonts and ligatures

This is a real, concrete difference, not a philosophical one.

Alacritty does not do ligatures. At all. This is a longstanding, deliberate decision tied to how its text rendering works. If you want !== and => and -> to fuse, Alacritty is out. Full stop, no config flag, no workaround.

Kitty does ligatures, and gives you control over them with disable_ligatures cursor, which turns them off only on the line where the cursor is so you can still count characters when editing. That is a thoughtful touch that most terminals do not have.

Kitty also supports OpenType font features per family, so you can turn on stylistic sets, alternate zeros, and so on. Alacritty gives you family, size, and offsets.

Tabs

Alacritty has no tab UI. On macOS it leans on AppKit's native window tabbing, so Cmd+T does give you a system tab bar. But that bar is macOS's, not Alacritty's. You do not style it, you do not put anything meaningful in it, and there are no splits at all. The intended answer is tmux.

Kitty has tabs and splits natively, with named layouts, a configurable tab bar including powerline styles, and tab titles you can set from a shell command. It also has launch with a location argument so you can script an entire window layout in a session file.

If you run several agents in several panes, this is the single biggest practical gap between the two. See the best terminal for Claude Code for how that plays out with agent workflows specifically.

macOS integration, where both get awkward

Neither of these is a Mac app in the way a Mac user means it. They are cross platform terminals that run on macOS.

Things that come up:

  • Option as Meta. Both need explicit config (option_as_alt in Alacritty, macos_option_as_alt in Kitty) or your Emacs bindings and your accented characters fight each other. Everyone hits this on day one.
  • Non-native chrome. Kitty draws its own tab bar and its own everything. It looks like Kitty on every OS, which is the point, and it looks slightly foreign next to your other Mac windows.
  • No preferences UI. Both are config-file-only. Fine if you like that. A genuine barrier if you are handing a machine to someone who does not.
  • Font rendering. Both do their own text stack rather than Core Text end to end, so both look a touch different from native Mac apps. Compare side by side at your size before committing.
  • System integration. Services menu, dictionary lookup, Quick Look on a selection. Neither gives you the full set.

None of these are dealbreakers. They are the tax you pay for cross platform.

Who should pick which

Pick Alacritty if: you already live in tmux, you want a config you can read in five minutes, you value a small dependency footprint, and you do not care about ligatures. It is the terminal equivalent of a well made hand tool. It will not surprise you in either direction.

Pick Kitty if: you want tabs and splits without tmux, you want ligatures, you want to display images in the terminal, you like scripting your environment, and you are willing to read a lot of documentation once. It is the most capable of the two by a wide margin.

Pick neither if you want your terminal to feel like a Mac app, or if you care what it looks like beyond a color scheme.

Where both stop short

Here is the thing I did not find in either one, and it is the reason I ended up building something.

Both give you colors. Kitty additionally gives you a background image and a tint. That is the complete surface area of visual customization in both tools. The window chrome, the tab strip, the buttons, the frame, all of that is fixed. You get to repaint the text and, in Kitty's case, put a picture behind it.

That was plenty when a terminal was where you ran make. It is not plenty now that agents run in there all day and you have four tabs that look identical. The long form argument is in skin your AI agent, and the practical starting point is making your Mac terminal look good.

Neither knows anything about agents either. Neither can tell you the aider session in pane three has been sitting on a confirmation prompt for four minutes.

That is the gap Terminal Candy is built into: a native AppKit terminal on Apple Silicon, with skinnable chrome rather than just colors, a skin gallery and a builder, CRT and phosphor effects if you want them, and per-tab alerts for nine CLI agents. $10 once, 14 day trial.

If you want the closer fight, Ghostty is the more direct comparison and I wrote that one up separately at Ghostty vs Terminal Candy.

And if Alacritty or Kitty already does everything you need, keep using it. They are both better than what most of us had five years ago.

Keep reading