Last Updated on August 11, 2021
Summary
kitty performs well. It’s stable in use, has fairly modest memory requirements, and offers hardware-acceleration. It’s targeted at power keyboard users with the ability to access all functionality without leaving the keyboard through tons of keyboard shortcuts. But there’s mouse support available offering the ability to open URLs, double click, triple click, right click, and more.
Does kitty supplant Alacritty as the best hardware-accelerated open source terminal emulator? Nearly but not quite. There’s lots to admire in kitty but it hasn’t (yet) become my go-to terminal emulator.
kitty is a cross-platform terminal emulator. It runs on Linux and MacOS. It should be possible to port it to other UNIX-like operating systems given its rendering is performed with OpenGL only.
Note, there’s a different project that sports the same name. Don’t be confused by KiTTY, a form of PuTTY. That’s a Windows-based telnet / SSH client. It’s always a bad idea for a software project to use the same name as an existing program.
Website: sw.kovidgoyal.net/kitty
Support: FAQ, GitHub Code Repository
Developer: Kovid Goyal and many contributors
License: GNU General Public License v3.0
kitty is written in Python and C. Learn Python with our recommended free books and free tutorials. Learn C with our recommended free books and free tutorials.
Pages in this article:
Page 1 – Introduction / Installation
Page 2 – In Operation
Page 3 – Other Features
Page 4 – Summary
Related Software
| Terminal Emulators | |
|---|---|
| Tabby | (Terminus) Highly configurable terminal emulator, SSH and serial client |
| Alacritty | Hardware-accelerated terminal emulator |
| Wave Terminal | AI-native terminal built for seamless workflows |
| urxvt | RXVT-like terminal emulator with Unicode support |
| Kitty | Like Alacritty, Kitty offers hardware acceleration |
| Ghostty | Feature-rich and cross-platform terminal emulator |
| Guake | Drop-down terminal for GNOME |
| Terminator | Multiple GNOME terminals in one window |
| WezTerm | GPU-accelerated cross-platform terminal emulator and multiplexer |
| rio | Hardware-accelerated GPU terminal emulator |
| electerm | Terminal emulator and much more |
| st | Simple terminal implementation for X which sucks less |
| contour | Aimed at power users with a modern feature mindset |
| Zutty | High-end terminal emulator for low-end systems |
| xterm | Provides DEC VT102 and Tektronix 4014 compatible terminals |
| Extraterm | Swiss army chainsaw of terminal emulators |
| Tilda | Gtk based drop down terminal |
| Ptyxis | Terminal for a container-oriented desktop |
| MATE Terminal | Terminal emulator the MATE desktop environment |
| Hyper | Terminal emulator built with web technologies |
| GNOME Terminal | Terminal emulator for the GNOME desktop environment |
| foot | Fast, lightweight and minimalistic Wayland terminal emulator |
| Xfce Terminal | Lightweight and easy to use terminal emulator application |
| Tilix | Advanced GTK3 tiling emulator |
| Terminology | Fast, lean and visually enhanced open source terminal emulator |
| Konsole | The KDE 5 terminal emulator |
| Black Box | GTK 4 terminal |
| Yakuake | Drop-down terminal emulator based on KDE Konsole technology |
| Station | Convergent terminal emulator |
| Sakura | Vte-based terminal emulator |
| QTerminal | Lightweight Qt-based terminal emulator |
| Zashterminal | Modern, intuitive, and innovative terminal built with GTK4 and Adwaita |
| LazyCat Terminal | Built with Vala and GTK4. |
| Kerminal | Modern terminal emulator and SSH manager |
| Termy | Minimal terminal emulator |
| DomTerm | Terminal emulator, REPL console, and screen multiplexer |
| CRT | Visually expressive terminal emulator written in Rust |
| kermit | VTE-based, simple and froggy terminal emulator |
| ROXTerm | VTE terminal emulator with tabs |
| LXTerminal | Lightweight terminal emulator based on GTK+ for the LXDE desktop |
| Bobcat | Built using the U++ framework and TerminalCtrl widget |
| fortty | GPU-accelerated terminal emulator written in Fortran |
| Tess | Hackable, simple, rapid and beautiful terminal |
| mlterm | Multilingual terminal emulator on X11 |
| Termite | Keyboard-centric VTE-based terminal |
| Packet | Terminal multiplexer and broadcast system |
| fingerterm | Terminal emulator with a custom virtual keyboard |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |


Well written review.
Some other points to consider …
“kitty can only use monospace fonts”
For actual doing work in a terminal (not just something to look pretty in a screenshot) why would anybody want other than a monospaced font?
Even In the simplest of cases, vis file listing (eg ls -aFl), columns of information would no longer line up.
Is the xterm on your memory usage graph with or without TeK window support which it has been claimed in the past causes xterm to be more of a memory hog?
And why not also include rxvt (original version not the same as unicode-rxvt urxvt) which always claimed in its manual page as being one of the most memory efficient of terminal emulators.
Also urxvt (unicode-rxvt) is not so bad for running multiple urxvt windows as would seem from the single instance because it comes with a urxvtd (daemon) with which multiple urxvtc (client) instances can be fired up.