Skip to content

Italic (SGR 3)

Category: sgr · Baseline: core · Tags: ECMA-48 Standard · Specification ↗

ESC [ 3 m
SGR 3 renders text in italic style. The sequence is ESC [ 3 m. Reset with SGR 23. Italic requires the terminal font to have an italic variant — monospace fonts without italics typically render it as normal text or with a slight color change. Italic was not supported on early hardware terminals and was historically rendered as inverse video on some systems. Modern terminals with proper font support render true italics, commonly used for comments, emphasis, and documentation in TUI applications and syntax-highlighted output.
How this is testedautomated
Send \x1b[3mX, verify the cell at (0,0) has italic=true.

The same probe runs against headless backends (via Termless) and real terminal apps (via a daemon launched in each terminal). This lets us distinguish parser correctness from rendering correctness.

Analysis2026-04-06

Supported by 11 of 12 terminals (92%). Not supported by: vt100.js. Part of the Core TUI baseline. Notes: vt100.js: Not in VT100/VT220 — use vterm.js for modern SGR.

Supported by 13 of 14 backends (93%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✓ yes
Ghostty1.3.1✓ yes
VS Code✓ yes
Warp✓ yes
Cursor✓ yes
Terminal.app✓ yes

Headless Backends

Parser correctness only — a means the parser accepts the sequence.

BackendVersionSupportNotes
Alacritty0.26.0✓ yes
Kitty0.40.0✓ yes
vterm0.2.0✓ yes
WezTerm0.1.0-fork.5✓ yes
xterm.js5.5.0✓ yes
vt100.js0.2.1✗ noNot in VT100/VT220 — use vterm.js for modern SGR