Back to services

Kitty

kitty is a fast, feature-rich, cross-platform, GPU-rendered terminal emulator for people who spend a lot of time working in the terminal. It comes with tabs, window layouts, remote control and a set of extension utilities (kittens).

View alternatives to Kitty
Contributor:
einverne
Suggest edit
Recent reviews

Alternatives

Tech stack

No tech stack added yet. Sign in to suggest some

kitty is a terminal emulator developed by Kovid Goyal, with the project tagline "If you live in the terminal, kitty is made for you." It is positioned as fast, feature-rich and cross-platform, and it uses GPU rendering. The official website says it uses the GPU and SIMD vector CPU instructions to achieve excellent performance.

Key features

  • Tabs and window management: Open multiple tabs and windows within a single OS window. Several window layouts are built in, including Stack, Tall, Fat, Grid, Splits, Horizontal and Vertical, and you can switch between them and resize windows with keyboard shortcuts.
  • Sessions: Save, switch and restore multi-tab working environments.
  • Remote control: Control kitty from scripts through the kitten @ command or a socket. You can create and close windows, send text, read screen contents, change colors and fonts, and more, with fine-grained permission control.
  • Kittens (extension utilities): A number of kittens are built in, for example:
    • icat: Display images in the terminal.
    • diff: Compare files side by side.
    • hints: Quickly select and act on text, URLs and more on the screen using the keyboard.
    • ssh: Make the environment after an SSH login more convenient.
    • transfer: Transfer files within the terminal, with support for incremental transfers.
    • clipboard: Read from and write to the clipboard.
    • broadcast: Broadcast your input to multiple windows at once.
    • themes: Switch color themes interactively.
    • choose-files: Quickly choose files.
    • Others include notify, unicode_input, panel and quick-access-terminal.
    • You can also write custom kittens in Python.
  • Shell integration: Clone the current shell in a new window, and browse command output.
  • Highly configurable: Configure fonts, cursor, scrollback buffer, colors, tab bar, keyboard shortcuts and mouse actions through kitty.conf. Features such as variable fonts, wide-gamut colors (OKLCH, CIE LAB), cursor trails and custom shaders are supported (see the changelog for the specific versions).
  • Marks and open actions: Highlight on-screen text with marks, and define custom open actions for when you click a file or link with the mouse.

Target users and use cases

It suits developers, operations staff and power users who frequently work on the command line. They need a terminal that is responsive, scriptable and finely customizable, whether they want to replace the system's default terminal or preview images, compare code differences and manage multi-session workspaces right in the terminal.

Installation and deployment

The official documentation offers several ways to install:

  • Official binary installation.
  • Manual installation.
  • Building from source. The build instructions are on the Build from source page of the official documentation, including a list of dependencies and a Nix build method.
  • Installing through your distribution's repositories. The project README links to a Repology packaging status page where you can check the versions available in each repository.

For the exact installation commands, refer to the official documentation at https://sw.kovidgoyal.net/kitty/.

Technical characteristics

  • Licensed under GPL-3.0.
  • The codebase is mainly written in C, Python and Go (the GitHub topics include c, go, python and opengl).
  • Requires a graphical environment with OpenGL support, since rendering relies on the GPU.
  • The official documentation includes a benchmarks page covering keyboard-to-screen latency, throughput and energy consumption.
  • The project has been actively updated over a long period, and the official website lists a detailed changelog from 0.4 through the recent 0.49 series.
  • An FAQ, GitHub Discussions and a Reddit community are available as support channels.