Skip to content

Inverse video (SGR 7)

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

ESC [ 7 m
SGR 7 swaps the foreground and background colors of the text. The sequence is ESC [ 7 m. Universally supported. Commonly used for selection highlighting, cursor rendering, and visual emphasis in TUI applications. Reset with SGR 27. Inverse video is the durable selection primitive of terminal UI. It works in monochrome, low-color, and truecolor environments because it depends on swapping roles rather than choosing a new RGB value. Modern renderers still use it for cursors and selections, but must combine it correctly with explicit foreground/background colors.
How this is testedautomated
Send \x1b[7mX, verify inverse=true on the cell.

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-05-17

Supported by all 12 tested terminals — universal adoption. Part of the Core TUI baseline.

Supported by 14 of 14 backends (100%)

Terminal Applications

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

Headless Backends

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

BackendVersionSupportNotes
Alacritty0.26.0✓ yes
vt100.js0.2.1✓ yes
vterm.js0.2.0✓ yes
WezTerm0.1.0-fork.5✓ yes
xterm.js5.5.0✓ yes