Skip to content

Curly underline (SGR 4:3) โ€‹

Category: sgr ยท Tags: Kitty Extensions ยท Specification โ†—

ESC [ 4:3 m
SGR 4:3 draws a wavy/curly underline beneath text, using the ECMA-48 colon sub-parameter syntax: ESC [ 4:3 m. This underline style was introduced by Kitty and is commonly used by editors and IDEs to indicate spelling errors, lint warnings, or diagnostic information โ€” similar to the red squiggly underline in graphical editors. Combine with SGR 58 (underline color) to set the underline color independently of the text color, e.g., red curly underline under normally-colored text for errors. Adopted by Ghostty, WezTerm, foot, and other modern terminals. Reset with SGR 24.
How this is tested: Send \x1b[4:3mX (colon sub-parameter syntax), verify underline === "curly".
Analysis2026-03-26

Supported by all 8 tested terminals โ€” universal adoption. Part of the Modern 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 โ€” only single underline supported

Powered by Termless
Playwright for Terminals