HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
kovidgoyal
kitty
Python2017–2026
kovidgoyal / kitty

kitty

If you live in the terminal, kitty is made for you! Cross-platform, fast, feature-rich, GPU based.

87Distinct people
113Mentions
2Explicit recommenders
35.7KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

If you live in the terminal, kitty is made for you! Cross-platform, fast, feature-rich, GPU based.

GitHub

Where it is used

  • Graphviz — Graphviz adds a -Tkitty output to display inline graphics using the kitty Terminal graphics protocol. This implements inline graphics in terminals that support that protocol, including kitty. Source
  • mpv (media player) — mpv is documented on kitty's integrations page as using kitty's graphics/video output (vo=kitty) to play videos in the terminal. Source

What people are saying

I mostly switched to librem 14, arch linux (i3wm, gnome from time to time), still using a mac for work (mostly presentations, video conferencing). Development tends to get more…

kgarten used a recommendation phrase. 2 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 4:00:59 PM UTC.

Mentions over time

HN mentions by year113 dated mentions

Observed mentions: 2017-01-07 04:17:33 UTC to 2026-10-07 18:29:01 UTC.

051015202017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 8 mentions; 3 submissions, 5 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 14 mentions; 1 submissions, 13 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 13 mentions; 3 submissions, 10 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 12 mentions; 1 submissions, 11 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 14 mentions; 2 submissions, 12 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 19 mentions; 1 submissions, 18 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 11 mentions; 1 submissions, 10 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC835
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC14113
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC606
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC10010
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC13310
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC12111
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC14212
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC19118
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC11110
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC606

What Hacker News says

14 sources
(Author of the original paper here.) Bracketed paste mode is good and ideally it just works(tm) and therefore people don't need to know about it. It does just work in recent versions bash (readline) and Zsh. Unfortunately there is still poor handling of it in some terminals. I posted[1] yesterday on oss-security that ^C for example can be placed on the clipboard and may end bracketed paste mode in some circumstances. For xterm that can be mitigated by adding "ETX" to disallowedPasteControls[2]: disallowedPasteControls: BS,DEL,ENQ,EOT,ETX,ESC,NUL That still isn't enough (e.g. ^\ or ^Z can be used too in some contexts). Other terminals are looking at this currently (e.g. kitty[3]). I suspect there will be some other patches coming out. [1]: https://www.openwall.com/lists/oss-security/2023/10/20/2 [2]: https://www.openwall.com/lists/oss-s
Read the rest
In "[31M"? ANSI Terminal security in 2023 and finding 10 CVEs
> I tried the first line and in some situations (specifically with some remotes, i.e. kitty -> ssh -> tmux with that 1st line) it still won't fix it. You likely need all of them ;-) IIRC it "fixes" terminfo stuff "within tmux" for kitty regardless of what $TERM is set. Mind you, I was using the latest tmux at that time. tmux 3.2? Here's the issue I had: https://github.com/kovidgoyal/kitty/issues/3018 Looks like it should be fixed on a very recent tmux; otherwise this MIGHT help: set-option -as terminal-features ',xterm-kitty:RGB' ... or not.
In Contour: Modern and fast terminal emulator
I don't know of a single terminal that actually gets these ZWJ emoji sequences right. There are several terminals who will render them, but I haven't seen any actually get the width calculations correct. (E.g., https://github.com/kovidgoyal/kitty/issues/3810.) Part of the problem is that it really messes up the idea of a rectangular grid of base characters in memory, so you'll need some sort of indirection. Obviously I haven't tested all terminal emulators in existence, though :-) I patched a similar bug in screen earlier this year (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1039503), which indicates the kind of stuff you have to go through.
In Terminal Support for Emoji
I also know input methods work great on Ubuntu (Gnome Wayland) because Gnome has first-class support for ibus. But the article is specifically about incompatibility of input methods among different DEs: Gnome, KDE, wlroots-based environments such as Sway and Hyprland. After many years, ibus still doesn’t work with wlroots, because ibus supports input method protocol v1 and wlroots supports v2: https://github.com/ibus/ibus/issues/2182 The list of recommended IMEs on Sway are all WIP: https://github.com/swaywm/sway/wiki/Useful-add-ons-for-sway#... There is even v3. Kitty refused to implement v3 because v3 appeared even more unstable: https://github.com/kovidgoyal/kitty/issues/2814#issuecomment... The wayland input method protocol is stuck at v1, and DEs/applications disagree about which versions to support. That’s why it’s problematic.
In The reality of Wayland input methods in 2022 (2022)
Spare a thought for we developers of terminal emulators. The block and line drawing characters have been being bodged since the time that IBM added the extra 9th column in hardware. I have a fairly trivial bodge for them in mine. Kovid Goyal over a period of 7 years has built up an extensive system for overriding the glyphs for block and line drawing characters that are supplied in fonts and replacing them with ones that Kitty constructs itself, all started because they just didn't line up when using what the fonts supplied. * https://github.com/kovidgoyal/kitty/issues/16 * https://github.com/kovidgoyal/kitty/blob/28b84a2d5b2720b88fd...
In Rio: Terminal app built over WebGPU, WebAssembly and Rust
It's interesting to read the discussion about Sixel support in Kitty [1], where the pros and cons of Sixel are considered in relationship with Kitty. In particular, I find this comment [2] by the maintainer of libsixel particularly intriguing: > After I took over the maintainership of libsixel I unfortunately decided it cannot support the security demands of Kitty, it is too insecure internally. I need to write a Rust library or something. [1] https://github.com/kovidgoyal/kitty/issues/2511 [2] https://github.com/kovidgoyal/kitty/issues/2511#issuecomment...
In Are We Sixel Yet
Usually I agree but the maintainer of kitty is bonkers rude. There have been several issues concerning privacy and security regarding kitty. The responses of the maintainer regarding these very valid concerns made me switch to wezterm/sakura/foot in an instant. He also accepts lots of PRs from contributers. Once you do this, it is no longer your project only. An example PR (there are a few others equally concerning): https://github.com/kovidgoyal/kitty/pull/3544
In Latest Kitty terminal release features SRGB correct linear gamma blending

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.