Appearance
Sixel Graphics
Sixel is a bitmap graphics format originally developed by DEC for the VT240 (1983) and VT340 terminals. It encodes raster images as printable ASCII characters, where each character represents a 1×6 pixel column — hence the name "six pixels." The format uses DCS (Device Control String) sequences to transmit image data inline with text. Sixel was largely dormant until its revival in modern terminals (xterm, foot, WezTerm, mlterm, contour) as a way to display inline images using only standard escape sequences, without requiring a terminal-specific protocol like Kitty graphics. Sixel was actually first designed for DEC's LA50 dot-matrix printer in 1982, before being adapted for video terminals with the VT240. The modern sixel revival began around 2014 when developers rediscovered it as the only inline image format that works over plain SSH without terminal-specific extensions.
A Sixel stream begins with ESC P q (DCS with a "q" final character) and ends with ESC \ (ST). Inside, each byte represents a vertical column of 6 pixels, offset by 63 (so byte value 63 = all pixels off, 126 = all pixels on). Color is set with #Pc;Pu;Px;Py;Pz register commands — up to 256 colors in the palette. The - character moves to the next row of six-pixel bands, and $ returns the cursor to the left margin within the same band.
Sixel's key advantage over the Kitty graphics protocol is universality: because the entire image is encoded as printable ASCII within a DCS sequence, it passes transparently through SSH, tmux (with pass-through), and any transport that handles standard escape sequences. No terminal-specific negotiation is needed. This makes Sixel the only image format that reliably works over remote connections without custom setup.
The tradeoff is efficiency and capability. Sixel images are significantly larger than equivalent PNG/base64, color depth is limited to the palette size, and there is no alpha channel or image placement control. For local terminals with direct rendering, the Kitty graphics protocol is superior in every dimension. But for ssh user@server && show-graph workflows, Sixel remains the practical choice — and its support continues to expand, with Ghostty adding it in 2024.
Analysis2026-04-06
Terminal Applications
| Feature | iTerm2 | Ghostty | VS Code | Warp | Cursor | Terminal.app |
|---|---|---|---|---|---|---|
| Sixel geometry report (CSI ? Pi;Pa;Pv S) | ? | ? | ✗ | ✗ | ✗ | ✗ |
| Sixel graphics | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ |
| Sixel support in DA1 | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |