Alacritty vs Kitty
Alacritty vs Kitty: a minimal TOML-configured Rust terminal versus a terminal with built-in tabs, splits, graphics protocol and kittens.
Updated
short verdict
Pick Alacritty if you already run a terminal multiplexer or window manager, want a TOML config, or need Windows support. Pick Kitty if you want tabs, splits, ligatures, image display and remote control built in, and you can live with the custom xterm-kitty terminfo on remote hosts.
Alacritty and Kitty are both GPU-accelerated terminal emulators that render with OpenGL. They differ in scope. Alacritty is deliberately minimal and has no tabs or splits. Kitty includes window management, its own protocols and a scripting layer.
this page is for
- Developers choosing a GPU-accelerated terminal on Linux, macOS or BSD
- Windows users who need to know which of the two runs there
- People deciding between a minimal terminal and one with built-in tabs and splits
Better when you already use a multiplexer or window manager for tabs and splits and want only a fast terminal, including on Windows.
best for
- Users with an existing multiplexer or tiling window manager setup
- Windows users on 10 version 1809 or later with ConPTY
strengths
- Runs on Linux, macOS, Windows and BSD; Windows needs ConPTY (Windows 10 1809+)
- Config is a TOML file, alacritty.toml, reloaded live by default, with an import option
- Vi mode (Ctrl+Shift+Space) with motions, selections and / and ? search in scrollback
- Licensed Apache-2.0 and written in Rust
weaknesses
- No tabs, splits or GUI settings editor; you need a multiplexer or window manager
- Font ligatures are not supported; the request is still an open issue
- Does not create the config file for you, and the README rates it as beta
Better when you want tabs, splits, image display and scripting in the terminal itself and do not need Windows.
best for
- Keyboard-driven users who want built-in tabs, layouts and session files
- Users who show images or script the terminal through remote control
strengths
- Built-in tabs and seven layouts (Fat, Grid, Horizontal, Splits, Stack, Tall, Vertical), plus session files
- Remote control over shell or SSH, Python watchers, and kittens such as kitten icat, kitten diff and kitten ssh
- Supports ligatures, variable fonts and per-range font substitution, so powerline symbols work without patched fonts
- Shell integration for zsh, fish and bash with prompt jumping and last-command output in a pager
weaknesses
- The custom xterm-kitty terminfo causes unknown-terminal errors or broken arrow keys on hosts without it, including under sudo or su
- Windows is not a supported platform
- Licensed GPL-3.0 and spread across Python, C and Go, which is a larger codebase surface than a single-language terminal
Key differences
- Scope: Alacritty has no tabs or splits; Kitty has tabs and seven window layouts built in
- Config format: Alacritty uses TOML in alacritty.toml; Kitty uses a single kitty.conf
- Language and license: Alacritty is Rust under Apache-2.0; Kitty is Python/C under GPL-3.0
- Platforms: Alacritty runs on Linux, macOS, Windows and BSD; Kitty runs on Linux, macOS and BSD only
- Extensibility: Alacritty offers alacritty msg over IPC on Unix; Kitty offers remote control, watchers and kittens
- Fonts and graphics: Kitty supports ligatures and its graphics protocol; Alacritty does not support ligatures
Choose Alacritty when
- You need a terminal on Windows 10 version 1809 or later, or want one config across all four platforms
- You already use a separate terminal multiplexer or window manager for tabs and splits
- You prefer a TOML config file with live reload and an import option
- You want vi mode with regex hints for URLs and selection expansion, without extra tooling
Choose Kitty when
- You want tabs, splits and session files (kitty --session) without a separate multiplexer
- You want ligatures, variable fonts or inline images with kitten icat, even over SSH
- You want to script the terminal with remote control, Python watchers or kittens
- You want shell integration for zsh, fish or bash with prompt jumping and output in a pager
When not to use these
- You need a terminal that ships with a GUI settings editor; neither Alacritty nor Kitty documents one
FAQ
- Which is faster, Alacritty or Kitty?
- Neither project publishes a head-to-head result. Alacritty makes performance its main focus and measures throughput with its own vtebench tool, but says latency is harder to quantify and suggests testing your own workloads. Kitty uses threaded rendering and SIMD CPU instructions and exposes performance trade-offs as config options.
- Which is easier to configure?
- Alacritty uses a TOML file, alacritty.toml, which you must create yourself, and it is documented in man 5 alacritty. Kitty uses a single kitty.conf. Neither project documents a GUI settings editor, and Alacritty states it has none.
- Can I use Alacritty and Kitty on the same machine?
- Neither project documents running them together or conflicts between them. They are separate terminal emulators with separate config files, so nothing in either project prevents installing both on Linux, macOS or BSD.
- Does either one run on Windows?
- Alacritty does, on Windows 10 version 1809 or later with ConPTY. Kitty does not list Windows as a supported platform.