Skip to content

Faint/dim (SGR 2) โ€‹

Category: sgr ยท Tags: ECMA-48 Standard, VT100 ยท Specification โ†—

ESC [ 2 m
SGR 2 renders text with reduced intensity (dimmed). The sequence is ESC [ 2 m. Commonly used for secondary or de-emphasized text in TUI applications โ€” status bars, disabled items, or metadata. Faint is reset by SGR 22, which also resets bold (SGR 1). There is no separate reset code for faint alone. Most modern terminals support faint rendering, typically by reducing the alpha or brightness of the foreground color.
How this is tested: Send \x1b[2mX, verify the cell at (0,0) has dim=true. Confirms SGR 2 (faint) is parsed and stored as a distinct attribute.
Analysis2026-03-26

Supported by all 8 tested terminals โ€” universal adoption. Part of the Core TUI baseline.

Supported by 12 of 13 backends (92%)

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โœ“ yes
Terminal.app2.15โœ“ yes
GNU Screen5.0.1โœ“ yes

Headless Backends โ€‹

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

BackendVersionSupportNotes
Alacritty0.26.0โœ“ yes
vterm0.2.0โœ“ yes
WezTerm0.1.0-fork.5โœ“ yes
vt1000.2.1โœ— noNot in VT100/VT220 โ€” use vterm.js for modern SGR

Powered by Termless
Playwright for Terminals