Skip to content

DECSERA — selective erase rectangular area

Category: editing · Baseline: legacy · Tags: VT510 · Specification ↗

CSI Pt ; Pl ; Pb ; Pr $ {
DECSERA (CSI Pt ; Pl ; Pb ; Pr $ {) is the selective-erase variant of DECERA: it erases unprotected characters within the rectangle but leaves any cell marked with the DECSCA character protection attribute intact. This is the rectangular companion to DECSED (selective erase in display). On VT420-era hardware, form designers used DECSCA to protect field labels and DECSERA to clear input fields between records without disturbing the form structure.
How this is testedpartial
Write text across multiple rows, send \x1b[1;1;3;5${ (selective erase rows 1-3, cols 1-5), verify the sequence is consumed without the literal characters appearing.

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 all 9 tested terminals — universal adoption. Part of the Unicode baseline.

Supported by 11 of 14 backends (79%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✓ yessequence consumed
Ghostty1.3.1✓ yessequence consumed
Terminal.app2.15✓ yessequence consumed
Kitty0.46.2✓ yessequence consumed
VS Code1.113.0? unknown
Warp0.2026.03.18.08.24.03? unknown
Cursor2.6.21? unknown

Headless Backends

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

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