^[control-codes live in libghostty-vt

Support

Every sequence page ends with a table of the terminals this site has examined and whether each supports that sequence. This page gathers those tables into one: a row for each sequence, a column for each terminal. Yes means the terminal supports it, Partly that it supports some of it, and No that it does not; a blank cell means the terminal was not examined for that sequence. The sequenceโ€™s own page says why, in its notes.

The terminals were judged in different ways, as the sources page explains: the VT220, VT340 and VT510 by their manuals, libghostty-vt by what this siteโ€™s cases show when they run in it, Konsole by its source, ConEmu, iTerm2 and others by their documentation, and the terminals whose version says run in a VM or run as a library by running every case on this site in them.

Terminals

TerminalVersion
VT220manual, 2nd ed., 1984
VT340manual, vol. 2, 2nd ed., 1988
VT510manual, 1st ed., 1993
xtermpatch 412, xterm-411a
libghostty-vt83edd49
Konsole26.11.70, a24c3d71
kitty0.49.1, run in a VM
foot1.28.0, run in a VM
pyte0.8.2, run as a library
xterm.js headless6.0.0, run as a library
alacritty_terminal0.26.0, run as a library
iTerm23.7.3, its documentation
ConEmubuild 230724, its documentation
rxvt-unicode9.31, urxvtperl(3)
mintty3.8.3, its documentation
VTE0.84.1, source
VS Code1.140.0, its documentation
Orca1.4.219, source
Linux consoleman-pages 6.19, console_codes(4)

C0 control characters

VT220VT340VT510xtermlibghostty-vtKonsolekittyfootpytexterm.js headlessalacritty_terminaliTerm2ConEmurxvt-unicodeminttyVTEVS CodeOrcaLinux console
BELYesYesYesYesYesYesYes
BSYesYesYesYesPartlyPartlyYesYesYes
CANYesYesYesYesYesPartlyPartlyYesPartly
CRYesYesYesYesPartlyPartlyPartlyPartlyPartly
DC1YesYesYesYes
ENQYesYesYesYes
ESCYesYesYesYesNoYesNoYesYes
FFYesYesYesYesYesPartlyYesYesPartly
HTYesYesYesYesPartlyYesYesYesYes
LFYesYesYesYesYesPartlyYesYesPartly
NULYesYesYesYes
SOYesYesYesYesYesYesNoYesYes
SUBYesYesYesPartlyNoNoNoNoNo
VTYesYesYesYesYesPartlyYesYesPartly

Escape sequences

VT220VT340VT510xtermlibghostty-vtKonsolekittyfootpytexterm.js headlessalacritty_terminaliTerm2ConEmurxvt-unicodeminttyVTEVS CodeOrcaLinux console
CSIYesYesYesYesYesYesYesYesYesYes
DCSYesYesYesYesPartlyYesNoPartlyPartlyNo
DECALNYesYesYesYesYesYesNoPartlyNoNo
DECAUPSSNoYesPartlyNoNo
DECBINoYesYesNoNoNoNoNoNoNo
DECDWLYesYesYesNoNoNoNoNoNoNo
DECKPAMPartlyYesYesYesNoYesYesNoNo
DECSCYesYesYesYesPartlyYesPartlyYesYesPartly
HTSYesYesYesYesYesYesYesNo
LS2YesYesYesYesNoYesNoYesNoNo
NELYesYesYesYesPartlyPartlyNoPartlyPartlyYes
RIYesYesYesYesYesYesYesYesYesYes
RISYesYesYesYesYesYesPartlyYesPartlyYes
SOSNoPartlyYesYesNoYesNoYesYesNo
SPANoNoYesYesNoNoNoPartlyNoNo
SS2YesYesYesYesNoPartlyNoNoNoNo
STYesYesYesYesYesYesYesYesYesPartly

Control sequences

VT220VT340VT510xtermlibghostty-vtKonsolekittyfootpytexterm.js headlessalacritty_terminaliTerm2ConEmurxvt-unicodeminttyVTEVS CodeOrcaLinux console
CBTNoYesYesYesPartlyPartlyPartlyPartlyPartlyNo
CHANoYesYesYesPartlyPartlyPartlyPartlyPartlyYes
CHTNoYesYesYesYesPartlyNoYesYesNo
CNLNoYesYesYesPartlyPartlyPartlyPartlyPartlyYes
CPLNoYesYesYesPartlyPartlyPartlyPartlyPartlyYes
CSI = uNoNoNoYesYesNo
CTCNoPartlyNoPartlyNo
CUBYesYesYesYesPartlyPartlyPartlyPartlyPartlyYes
CUDYesYesYesYesYesPartlyPartlyYesPartlyYes
CUFYesYesYesYesPartlyPartlyPartlyPartlyPartlyYes
CUPYesYesYesYesYesYesPartlyYesYesYes
CUUYesYesYesYesYesPartlyPartlyYesPartlyYes
DAPartlyYesYesYesPartly
DCHYesYesYesYesPartlyPartlyPartlyPartlyPartlyYes
DECCARANoYesYesNoPartlyNoNoNoNoNo
DECCRANoYesYesNoNoYesNoNoNoNo
DECDSRPartlyPartlyYesNoNoNoNoNoNoNo
DECELRNoNoPartlyNoNo
DECERANoYesYesNoNoPartlyNoNoNoNo
DECFRANoYesYesNoNoPartlyNoNoNoNo
DECICNoYesYesNoNoNoNoPartlyNoNo
DECRQCRANoYesPartlyNoNo
DECRQMNoYesYesYesPartlyPartlyNoPartlyPartlyNo
DECRQPSRNoYesYesNoNoNoNoNoNoNo
DECRQTSRNoYesNoNoNo
DECRSTYesYesYesYesPartlyYesYesYesYesPartly
DECSASDNoYesNoPartlyNo
DECSCAPartlyYesYesPartlyPartlyNoPartlyPartlyNoNo
DECSCLYesYesYesNoNoNoNoNoNoNo
DECSCPPNoYesYesNoPartlyPartlyPartlyPartlyPartlyNo
DECSCUSRNoYesYesYesPartlyPartlyNoPartlyYes
DECSETYesYesYesYesPartlyYesYesYesYesPartly
DECSLRMNoYesYesYesPartlyPartlyPartlyPartlyPartlyNo
DECSNLSNoYesYesNoNo
DECSRNoYesNoNoNo
DECSTBMYesYesYesYesYesYesYesYesYesYes
DECSTRYesYesYesNoYesPartlyNoYesPartlyNo
DECTSTYesYesNoNoNo
DLYesYesYesYesPartlyPartlyPartlyPartlyPartlyYes
DSRYesYesYesYesPartlyPartlyPartlyPartlyPartlyYes
ECHYesYesYesYesYesYesYesYesYesYes
EDYesYesYesYesYesYesYesYesPartlyYes
ELYesYesYesYesYesYesYesYesYesYes
HPANoYesYesYesYesYesNoYesYesNo
HPBNoNoNoYesNo
HPRNoYesYesYesPartlyPartlyPartlyPartlyPartlyNo
HVPYesYesYesYesYesYesPartlyYesYesYes
ICHYesYesYesYesPartlyPartlyPartlyPartlyPartlyYes
ILYesYesYesYesPartlyPartlyPartlyPartlyPartlyYes
MCYesYesPartlyNoNo
NPNoYesNoNoNo
REPNoNoYesYesPartlyPartlyNoPartlyPartlyYes
RMYesYesYesYesPartlyPartlyYesPartlyPartlyPartly
SDNoYesYesYesPartlyPartlyNoPartlyPartlyPartly
SGRPartlyPartlyYesYesYesPartlyYesYesPartly
SIMDNoNoNoNoNo
SLNoNoYesNoNoNoNoPartlyNoNo
SMYesYesYesYesYesNoYesYesPartlyPartly
SUNoYesYesYesPartlyPartlyNoPartlyPartlyPartly
TBCYesYesYesPartlyYesYesYesNo
VPANoYesYesYesYesYesYesYesYesYes
VPBNoNoNoYesNo
VPRNoYesYesYesPartlyPartlyPartlyPartlyPartlyNo
XTMODKEYSNoNoYesPartlyNoPartlyNoNoNoNo
XTRESTORENoNoYesYesPartlyYesNoNoNoNo
XTSAVENoNoYesYesPartlyYesNoNoNoNo
XTVERSIONNoNoYesYesNo
XTWINOPSNoPartlyPartlyPartlyPartlyYesNoNoPartlyPartly

ANSI modes

VT220VT340VT510xtermlibghostty-vtKonsolekittyfootpytexterm.js headlessalacritty_terminaliTerm2ConEmurxvt-unicodeminttyVTEVS CodeOrcaLinux console
1NoNoNoNoNo
2YesYesYesYesNoNoNoNoNo
3NoYesNoNoNo
4YesYesYesYesPartlyPartlyPartlyPartlyPartlyNo
5NoNoNoNoNo
6NoNoNoNoNo
7NoNoNoNoNo
8NoNoNoNoNo
9NoNoNoNoNo
10NoNoNoNoNo
11NoNoNoNoNo
12YesYesYesYesNoNoNoNoNo
13NoNoNoNoNo
14NoNoNoNoNo
15NoNoNoNoNo
16NoNoNoNoNo
17NoNoNoNoNo
18NoNoNoNoNo
19NoNoNoNoNo
20YesYesYesYesYesNoYesYesPartlyYes
21NoNoNoNoNo
22NoNoNoNoNo

Private modes

VT220VT340VT510xtermlibghostty-vtKonsolekittyfootpytexterm.js headlessalacritty_terminaliTerm2ConEmurxvt-unicodeminttyVTEVS CodeOrcaLinux console
?1YesYesYesYesYesYesYesYesYes
?3YesYesPartlyYesPartlyNoPartlyNoPartlyNo
?4YesYesYesYesNoNoNoNoNo
?5YesYesYesYesYesYesNoNoNoNo
?6YesYesYesYesPartlyPartlyPartlyPartlyPartlyNo
?7YesYesYesYesPartlyYesYesYesYesNo
?8YesYesNoYesNo
?12NoNoYesYesNoYesYesYesNo
?19YesYesYesNoNoNoNoNoNo
?25YesYesYesYesYesYesYesYesYesYes
?42YesYesYesNoNoNoNoPartlyNoNo
?46NoNoNoNoNo
?60NoPartlyNoNoNo
?68NoYesNoNoNo
?80NoYesNoPartlyNoYesNo
?1000NoNoYesPartlyPartlyPartlyPartlyPartlyPartly
?1004NoNoYesYesYesPartlyYesYesYes
?1049NoNoYesPartlyPartlyPartlyNoPartlyPartlyPartly
?2004NoNoYesYesYesYesYesYesYes
?2026NoNoNoYesNo

Device control strings

VT220VT340VT510xtermlibghostty-vtKonsolekittyfootpytexterm.js headlessalacritty_terminaliTerm2ConEmurxvt-unicodeminttyVTEVS CodeOrcaLinux console
DECDLDYesYesNoNoNo
DECRQSSNoYesYesPartlyPartlyPartlyNoPartlyNoNo
DECUDKYesYesPartlyNoNo
ReGISNoYesNoNoNoNoNo
SixelNoYesNoNoNoYesNo
XTGETTCAPNoNoYesPartlyYesYesNoNoNoNo
XTGETXRESNoNoYesNoNoNoNoNoNoNo
XTSETTCAPNoNoYesNoNo

Operating system commands

VT220VT340VT510xtermlibghostty-vtKonsolekittyfootpytexterm.js headlessalacritty_terminaliTerm2ConEmurxvt-unicodeminttyVTEVS CodeOrcaLinux console
OSC 0NoNoYesPartlyYesYesYesYesYesYesYes
OSC 1NoNoYesNoYesPartly
OSC 2NoNoYesYesYesYesYesYesYesYesYes
OSC 3NoNoPartlyNoNoNo
OSC 4NoNoYesYesPartlyPartlyPartlyNoNoPartlyNo
OSC 5NoNoYesNoNoNoNoNoNoNoNo
OSC 6NoNoYesNoNoNoNo
OSC 7NoNoNoYesYesNo
OSC 8NoNoNoYesPartlyNo
OSC 9NoNoNoYesNoYesNo
OSC 9 ; 1NoNoNoNoNoYes
OSC 9 ; 2NoNoNoNoNoYes
OSC 9 ; 3NoNoNoNoNoYes
OSC 9 ; 4NoNoNoYesPartlyYes
OSC 9 ; 5NoNoNoNoNoYes
OSC 9 ; 6NoNoNoNoNoYes
OSC 9 ; 7NoNoNoNoNoYes
OSC 9 ; 8NoNoNoNoNoYes
OSC 9 ; 9NoNoNoYesNoYes
OSC 9 ; 10NoNoNoNoNoYes
OSC 9 ; 11NoNoNoYesNoYes
OSC 9 ; 12NoNoNoYesNoYes
OSC 10NoNoYesYesYesYesPartlyNoNoPartlyNo
OSC 11NoNoYesYesYesYesYesNoNoYesNo
OSC 12NoNoYesYesPartlyYesYesNoNoYesNo
OSC 13NoNoYesNoNoNoNoNoNoNoNo
OSC 14NoNoYesNoNoNoNoNoNoNoNo
OSC 15NoNoYesNoNoNoNoNoNoNoNo
OSC 16NoNoYesNoNoNoNoNoNoNoNo
OSC 17NoNoYesNoNoYesYesNoNoNoNo
OSC 18NoNoYesNoNoNoNoNoNoNoNo
OSC 19NoNoYesNoNoYesYesNoNoNoNo
OSC 21NoNoPartlyPartlyNoYesNo
OSC 22NoNoYesPartlyPartlyYesNo
OSC 30NoNoNoNoYesNo
OSC 31NoNoNoNoNoNo
OSC 32NoNoNoNoYesNo
OSC 34NoNoNoNoYesNo
OSC 46NoNoNoNoNoNo
OSC 50NoNoYesNoNoNo
OSC 51NoNoNoNoNoNo
OSC 52NoNoPartlyPartlyPartlyNo
OSC 60NoNoYesNoNoNo
OSC 61NoNoYesNoNoNo
OSC 62NoNoYesNoNoNo
OSC 66NoNoNoNoNoYesNo
OSC 72NoNoNoPartlyNoYesNo
OSC 99NoNoNoNoPartlyYesNo
OSC 104NoNoYesYesYesYesPartlyNoNoPartlyNo
OSC 105NoNoPartlyNoNoNo
OSC 106NoNoYesNoNoNo
OSC 110NoNoYesYesPartlyYesPartlyNoNoPartlyNo
OSC 111NoNoYesYesPartlyYesYesNoNoYesNo
OSC 112NoNoYesYesYesYesYesNoNoYesNo
OSC 113NoNoYesNoNoNoNoNoNoNoNo
OSC 114NoNoYesNoNoNoNoNoNoNoNo
OSC 115NoNoYesNoNoNoNoNoNoNoNo
OSC 116NoNoYesNoNoNoNoNoNoNoNo
OSC 117NoNoYesNoNoYesYesNoNoNoNo
OSC 118NoNoYesNoNoNoNoNoNoNoNo
OSC 119NoNoYesNoNoYesYesNoNoNoNo
OSC 133NoNoNoYesYesYesNo
OSC 176NoNoNoNoNoYesNo
OSC 440NoNoNoNoNoNoYes
OSC 555NoNoNoNoNoYesNo
OSC 633NoNoNoNoNoNoYes
OSC 666NoNoNoNoNoNoYes
OSC 701NoNoNoNoNoNoYesYes
OSC 702NoNoNoNoNoNoYes
OSC 710NoNoNoNoNoNoYes
OSC 720NoNoNoNoNoNoYes
OSC 776NoNoNoNoNoNoYes
OSC 777NoNoNoPartlyPartlyNoYes
OSC 1337NoNoNoPartlyPartlyYesNo
OSC 3008NoNoNoNoNoNo
OSC 5522NoNoNoYesNoYesNo
OSC 7770NoNoNoNoNoNoYes
OSC 7777NoNoNoNoNoNoYes
OSC 9999NoNoNoNoNoNoYes
OSC 21337NoNoNoNoNoYesNo
OSC 30001NoNoNoNoNoYesNo
OSC 30101NoNoNoNoNoYesNo
OSC INoNoYesNoNoNo
OSC LNoNoYesNoNoNo
OSC PNoNoPartlyNoNoYesNoYes
OSC RNoNoPartlyNoNoNoYes
OSC lNoNoYesNoNoNoNoNoNoNoNo

Parsing

VT220VT340VT510xtermlibghostty-vtKonsolekittyfootpytexterm.js headlessalacritty_terminaliTerm2ConEmurxvt-unicodeminttyVTEVS CodeOrcaLinux console
C0 in sequencesPartlyPartlyYesYesPartlyYesPartlyYesYes
ParametersNoPartlyYesYes
UTF-8NoNoYesYesYesPartlyYesNoPartly
Every example on these pages runs in your browser, in libghostty-vt compiled to WebAssembly.