^[control-codes
live in libghostty-vt

Support

View as Markdown

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-vt0f171f6
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, run in a VM
mintty3.8.3, its documentation
VTE0.84.1, run as a library
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
BELYesYesYesYesYesYesYesYesPartly
BSYesYesYesYesPartlyPartlyYesYesYesPartlyYes
CANYesYesYesYesYesPartlyPartlyYesPartlyPartlyYes
CRYesYesYesYesPartlyPartlyPartlyPartlyPartlyPartlyYes
DC1YesYesYesYes
ENQYesYesYesYes
ESCYesYesYesYesNoYesNoYesYesNoYes
FFYesYesYesYesYesPartlyYesYesPartlyPartlyPartly
HTYesYesYesYesPartlyYesYesYesYesYesYes
LFYesYesYesYesYesPartlyYesYesPartlyPartlyPartly
NULYesYesYesYes
SOYesYesYesYesYesYesNoYesYesYesYes
SUBYesYesYesPartlyNoNoNoNoNoNoYes
VTYesYesYesYesYesPartlyYesYesPartlyPartlyPartly

Escape sequences

VT220VT340VT510xtermlibghostty-vtKonsolekittyfootpytexterm.js headlessalacritty_terminaliTerm2ConEmurxvt-unicodeminttyVTEVS CodeOrcaLinux console
CSIYesYesYesYesYesYesYesYesYesYesYesYes
DCSYesYesYesYesPartlyYesNoPartlyPartlyNoPartlyPartly
DECALNYesYesYesYesYesYesNoPartlyNoNoNoYes
DECBINoYesYesNoNoNoNoNoNoNoPartlyYes
DECDWLYesYesYesNoNoNoNoNoNoNoNoNo
DECKPAMPartlyYesYesYesNoYesYesNoNoYesYes
DECSCYesYesYesYesPartlyYesPartlyYesYesPartlyYesYes
HTSYesYesYesYesYesYesYesNoYesYes
LS2YesYesYesYesNoYesNoYesNoNoYesNo
NELYesYesYesYesPartlyPartlyNoPartlyPartlyYesPartlyYes
RIYesYesYesYesYesYesYesYesYesYesYesYes
RISYesYesYesYesYesYesPartlyYesPartlyYesPartlyPartly
SOSNoPartlyYesYesNoYesNoYesYesNoNoYes
SPANoNoYesYesNoNoNoPartlyNoNoNoNo
SS2YesYesYesYesNoPartlyNoNoNoNoNoNo
STYesYesYesYesYesYesYesYesYesPartlyYesYes

Control sequences

VT220VT340VT510xtermlibghostty-vtKonsolekittyfootpytexterm.js headlessalacritty_terminaliTerm2ConEmurxvt-unicodeminttyVTEVS CodeOrcaLinux console
CBTNoYesYesYesPartlyPartlyPartlyPartlyPartlyNoPartlyYes
CHANoYesYesYesPartlyPartlyPartlyPartlyPartlyYesPartlyYes
CHTNoYesYesYesYesPartlyNoYesYesNoYesYes
CNLNoYesYesYesPartlyPartlyPartlyPartlyPartlyYesPartlyYes
CPLNoYesYesYesPartlyPartlyPartlyPartlyPartlyYesPartlyYes
CSI = uNoNoNoYesYesNo
CTCNoPartlyNoPartlyNo
CUBYesYesYesYesPartlyPartlyPartlyPartlyPartlyYesPartlyYes
CUDYesYesYesYesYesPartlyPartlyYesPartlyYesYesYes
CUFYesYesYesYesPartlyPartlyPartlyPartlyPartlyYesPartlyYes
CUPYesYesYesYesYesYesPartlyYesYesYesYesYes
CUUYesYesYesYesYesPartlyPartlyYesPartlyYesYesYes
DAPartlyYesYesYesPartly
DCHYesYesYesYesPartlyPartlyPartlyPartlyPartlyYesPartlyYes
DECCARANoYesYesNoPartlyNoNoNoNoNoNoYes
DECCRANoYesYesNoNoYesNoNoNoNoNoYes
DECDSRPartlyPartlyYesNoNoNoNoNoNoNoNoYes
DECELRNoNoPartlyNoNo
DECERANoYesYesNoNoPartlyNoNoNoNoNoYes
DECFRANoYesYesNoNoPartlyNoNoNoNoNoYes
DECICNoYesYesNoNoNoNoPartlyNoNoNoYes
DECRQCRANoYesPartlyPartlyNo
DECRQMNoYesYesYesPartlyPartlyNoPartlyPartlyNoPartlyYes
DECRQPSRNoYesYesNoNoNoNoNoNoNoNoNo
DECRQTSRNoYesNoNoNo
DECRSTYesYesYesYesPartlyYesYesYesYesPartlyYesYes
DECSASDNoYesNoPartlyNo
DECSCAPartlyYesYesPartlyPartlyNoPartlyPartlyNoNoNoPartly
DECSCLYesYesYesNoNoNoNoNoNoNoNoPartly
DECSCPPNoYesYesNoPartlyPartlyPartlyPartlyPartlyNoPartlyPartly
DECSCUSRNoYesYesYesPartlyPartlyNoPartlyYesPartly
DECSETYesYesYesYesPartlyYesYesYesYesPartlyYesYes
DECSLRMNoYesYesYesPartlyPartlyPartlyPartlyPartlyNoPartlyYes
DECSNLSNoYesYesNoNo
DECSRNoYesNoNoNo
DECSTBMYesYesYesYesYesYesYesYesYesYesPartlyYes
DECSTRYesYesYesNoYesPartlyNoYesPartlyNoPartlyPartly
DECTSTYesYesNoNoNo
DLYesYesYesYesPartlyPartlyPartlyPartlyPartlyYesPartlyYes
DSRYesYesYesYesPartlyPartlyPartlyPartlyPartlyYesPartlyYes
ECHYesYesYesYesYesYesYesYesYesYesYesYes
EDYesYesYesYesYesYesYesYesPartlyYesYesYes
ELYesYesYesYesYesYesYesYesYesYesYesYes
HPANoYesYesYesYesYesNoYesYesNoYesYes
HPBNoNoNoYesNo
HPRNoYesYesYesPartlyPartlyPartlyPartlyPartlyNoPartlyNo
HVPYesYesYesYesYesYesPartlyYesYesYesYesYes
ICHYesYesYesYesPartlyPartlyPartlyPartlyPartlyYesPartlyYes
ILYesYesYesYesPartlyPartlyPartlyPartlyPartlyYesPartlyYes
MCYesYesPartlyNoNo
NPNoYesNoNoNo
REPNoNoYesYesPartlyPartlyNoPartlyPartlyYesNoPartly
RMYesYesYesYesPartlyPartlyYesPartlyPartlyPartlyPartlyPartly
SDNoYesYesYesPartlyPartlyNoPartlyPartlyPartlyPartlyYes
SGRPartlyPartlyYesYesYesPartlyYesYesPartlyYesYes
SIMDNoNoNoNoNo
SLNoNoYesNoNoNoNoPartlyNoNoNoYes
SMYesYesYesYesYesNoYesYesPartlyPartlyNoPartly
SUNoYesYesYesPartlyPartlyNoPartlyPartlyPartlyPartlyYes
TBCYesYesYesPartlyYesYesYesNoYesYes
VPANoYesYesYesYesYesYesYesYesYesYesYes
VPBNoNoNoYesNo
VPRNoYesYesYesPartlyPartlyPartlyPartlyPartlyNoPartlyNo
XTMODKEYSNoNoYesPartlyNoPartlyNoNoNoNoNoNo
XTRESTORENoNoYesYesPartlyYesNoNoNoNoYesPartly
XTSAVENoNoYesYesPartlyYesNoNoNoNoYesPartly
XTVERSIONNoNoYesYesNo
XTWINOPSNoPartlyPartlyPartlyPartlyYesNoNoPartlyPartlyPartlyYes

ANSI modes

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

Private modes

VT220VT340VT510xtermlibghostty-vtKonsolekittyfootpytexterm.js headlessalacritty_terminaliTerm2ConEmurxvt-unicodeminttyVTEVS CodeOrcaLinux console
?1YesYesYesYesYesYesYesYesYesYesYes
?3YesYesPartlyYesPartlyNoPartlyNoPartlyNoPartlyPartly
?4YesYesYesYesNoNoNoNoNoYesNo
?5YesYesYesYesYesYesNoNoNoNoYesYes
?6YesYesYesYesPartlyPartlyPartlyPartlyPartlyNoPartlyYes
?7YesYesYesYesPartlyYesYesYesYesNoYesYes
?8YesYesNoYesNo
?12NoNoYesYesNoYesYesYesNoYesNo
?19YesYesYesNoNoNoNoNoNoNoNo
?25YesYesYesYesYesYesYesYesYesYesYes
?42YesYesYesNoNoNoNoPartlyNoNoNoNo
?46NoNoNoNoNo
?60NoPartlyNoNoNo
?68NoYesNoNoNo
?80NoYesNoPartlyNoYesNo
?95NoYesNoNo
?1000NoNoYesPartlyPartlyPartlyPartlyPartlyPartlyPartlyPartly
?1004NoNoYesYesYesPartlyYesYesYesPartlyPartly
?1049NoNoYesPartlyPartlyPartlyNoPartlyPartlyPartlyPartlyPartly
?2004NoNoYesYesYesYesYesYesYesPartlyYes
?2026NoNoNoYesNo

Device control strings

VT220VT340VT510xtermlibghostty-vtKonsolekittyfootpytexterm.js headlessalacritty_terminaliTerm2ConEmurxvt-unicodeminttyVTEVS CodeOrcaLinux console
DECAUPSSNoYesPartlyNoNo
DECDLDYesYesNoNoNo
DECRQSSNoYesYesPartlyPartlyPartlyNoPartlyNoNoNoPartly
DECUDKYesYesPartlyNoNo
ReGISNoYesNoNoNoNoNo
SixelNoYesNoNoNoYesNo
XTGETTCAPNoNoYesPartlyYesYesNoNoNoNoNoYes
XTGETXRESNoNoYesNoNoNoNoNoNoNoNoNo
XTSETTCAPNoNoYesNoNo

Operating system commands

VT220VT340VT510xtermlibghostty-vtKonsolekittyfootpytexterm.js headlessalacritty_terminaliTerm2ConEmurxvt-unicodeminttyVTEVS CodeOrcaLinux console
OSC 0NoNoYesPartlyYesYesYesYesYesYesYesYesYes
OSC 1NoNoYesNoYesPartly
OSC 2NoNoYesYesYesYesYesYesYesYesYesYesYes
OSC 3NoNoPartlyNoNoNo
OSC 4NoNoYesYesPartlyPartlyPartlyNoNoPartlyNoPartlyPartly
OSC 5NoNoYesNoNoNoNoNoNoNoNoNoNo
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 10NoNoYesYesYesYesPartlyNoNoPartlyNoPartlyPartly
OSC 11NoNoYesYesYesYesYesNoNoYesNoYesYes
OSC 12NoNoYesYesPartlyYesYesNoNoYesNoYesYes
OSC 13NoNoYesNoNoNoNoNoNoNoNoYesNo
OSC 14NoNoYesNoNoNoNoNoNoNoNoYesNo
OSC 15NoNoYesNoNoNoNoNoNoNoNoNoNo
OSC 16NoNoYesNoNoNoNoNoNoNoNoNoNo
OSC 17NoNoYesNoNoYesYesNoNoNoNoYesYes
OSC 18NoNoYesNoNoNoNoNoNoNoNoNoNo
OSC 19NoNoYesNoNoYesYesNoNoNoNoYesYes
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 104NoNoYesYesYesYesPartlyNoNoPartlyNoNoYes
OSC 105NoNoPartlyNoNoNo
OSC 106NoNoYesNoNoNo
OSC 110NoNoYesYesPartlyYesPartlyNoNoPartlyNoNoPartly
OSC 111NoNoYesYesPartlyYesYesNoNoYesNoNoYes
OSC 112NoNoYesYesYesYesYesNoNoYesNoPartlyPartly
OSC 113NoNoYesNoNoNoNoNoNoNoNoNoNo
OSC 114NoNoYesNoNoNoNoNoNoNoNoNoNo
OSC 115NoNoYesNoNoNoNoNoNoNoNoNoNo
OSC 116NoNoYesNoNoNoNoNoNoNoNoNoNo
OSC 117NoNoYesNoNoYesYesNoNoNoNoNoYes
OSC 118NoNoYesNoNoNoNoNoNoNoNoNoNo
OSC 119NoNoYesNoNoYesYesNoNoNoNoNoYes
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 lNoNoYesNoNoNoNoNoNoNoNoNoNo

Parsing

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