Skip to content

Kitty graphics: Unicode placeholders โ€‹

Category: extensions ยท Tags: Kitty ยท Specification โ†—

Unicode placeholders (U=1) allow images to be placed using special Unicode characters in the text grid rather than absolute positioning. The terminal replaces placeholder characters with image content. This enables images to participate in text reflow, scrolling, and selection โ€” unlike absolutely-positioned images which are fixed to screen coordinates.
How this is tested: Transmit a test image with U=1 (Unicode placeholder mode). Check response for success.
Analysis2026-03-29

Supported by 2 of 13 terminals (15%). Part of the Rich TUI baseline.

Supported by 2 of 18 backends (11%)

Terminal Applications โ€‹

TerminalVersionSupportNotes
Terminal.app2.15โœ“ yes
iTerm23.6.9โœ— noNo response with U=1
cmuxโœ— noU=1 didn't render
Ghostty1.3.1โœ— noU=1 didn't render
Kitty0.46.2โœ— noU=1 didn't render
VS Code1.113.0โœ— noU=1 didn't render
Warp0.2026.03.18.08.24.03โœ— noU=1 didn't render
Cursor2.6.21โœ— noU=1 didn't render

Headless Backends โ€‹

Parser correctness only โ€” a โœ“ means the parser accepts the sequence.

BackendVersionSupportNotes
vterm0.2.0โœ“ yes
Alacritty0.26.0โœ— noKitty graphics not implemented in alacritty
vt100.js0.2.1โœ— noNot implemented โ€” pure TypeScript emulator
WezTerm0.1.0-fork.5โœ— noKitty graphics not implemented in wezterm-term crate
xterm.js5.5.0? unknownKitty graphics protocol not implemented in xterm.js
xterm.js6.0.0? unknownKitty graphics protocol not implemented in xterm.js
xterm.js5.4.0? unknownKitty graphics protocol not implemented in xterm.js
xterm.js6.1.0-beta.195? unknownKitty graphics protocol not implemented in xterm.js

Powered by Termless
Playwright for Terminals