Skip to content

iTerm2 Inline Images (OSC 1337) โ€‹

Category: extensions ยท Tags: Operating System Commands (OSC) ยท Specification โ†—

iTerm2 inline images use the proprietary OSC 1337 protocol to display images directly in terminal output. The image data is base64-encoded and transmitted inline with the escape sequence. iTerm2 supports PNG, JPEG, GIF, and other formats.

This protocol predates the Kitty graphics protocol and is simpler but less capable โ€” it lacks features like image placement, animation control, and chunked transfer. Several other terminals (WezTerm, mintty) have adopted the iTerm2 protocol alongside or instead of Kitty graphics. The protocol is documented in iTerm2's documentation but has no formal specification.

How this is tested: Check if the terminal responds to iTerm2 capability queries (OSC 1337) indicating inline image support.
Analysis2026-03-26

Supported by 7 of 8 terminals (88%). Not supported by: Cursor. Part of the Rich TUI baseline.

Supported by 10 of 13 backends (77%)

Terminal Applications โ€‹

TerminalVersionSupportNotes
iTerm23.6.9โœ“ yes
Ghostty1.3.1โœ“ yes
VS Code1.112.0โœ“ yes
Warp0.2026.03.18.08.24.03โœ“ yes
Cursor2.6.21โœ“ yes
tmux3.6aโœ“ yes
Kitty0.46.2โœ“ yesiTerm2 inline images not supported by kitty
Terminal.app2.15โœ“ yes
GNU Screen5.0.1โœ“ yes

Headless Backends โ€‹

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

BackendVersionSupportNotes
vterm0.2.0โœ“ yes
Alacritty0.26.0โœ— noiTerm2 inline images not supported by alacritty
vt1000.2.1โœ— noNot implemented โ€” pure TypeScript emulator
WezTerm0.1.0-fork.5โœ— noiTerm2 inline images not supported by wezterm

Powered by Termless
Playwright for Terminals