# Support

> Which terminals support which control sequences, page by page.

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](https://control-codes.page/sources/index.html.md)
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

| Terminal | Version |
| --- | --- |
| VT220 | [manual](https://vt100.net/docs/vt220-rm/), 2nd ed., 1984 |
| VT340 | [manual](https://vt100.net/docs/vt3xx-gp/), vol. 2, 2nd ed., 1988 |
| VT510 | [manual](https://vt100.net/docs/vt510-rm/), 1st ed., 1993 |
| xterm | patch 412, [xterm-411a](https://github.com/ThomasDickey/xterm-snapshots/tree/xterm-411a) |
| libghostty-vt | [83edd49](https://github.com/ghostty-org/ghostty/tree/83edd491e3024ae5e50393d62877b8897da1cccd) |
| Konsole | 26.11.70, [a24c3d71](https://invent.kde.org/utilities/konsole/-/tree/a24c3d71be3684f24d030aa2dbe9bd723d985233) |
| kitty | 0.49.1, [run in a VM](https://git.jcollie.dev/jeff/control-codes/src/branch/main/emulators/results/kitty.json) |
| foot | 1.28.0, [run in a VM](https://git.jcollie.dev/jeff/control-codes/src/branch/main/emulators/results/foot.json) |
| pyte | 0.8.2, [run as a library](https://git.jcollie.dev/jeff/control-codes/src/branch/main/emulators/results/pyte.json) |
| xterm.js headless | 6.0.0, [run as a library](https://git.jcollie.dev/jeff/control-codes/src/branch/main/emulators/results/xtermjs.json) |
| alacritty_terminal | 0.26.0, [run as a library](https://git.jcollie.dev/jeff/control-codes/src/branch/main/emulators/results/alacritty.json) |
| iTerm2 | 3.7.3, its documentation |
| ConEmu | build 230724, its [documentation](https://conemu.github.io/en/AnsiEscapeCodes.html) |
| rxvt-unicode | 9.31, [`urxvtperl(3)`](https://manpages.debian.org/testing/rxvt-unicode/urxvtperl.3.en.html) |
| mintty | 3.8.3, its [documentation](https://github.com/mintty/mintty/wiki/CtrlSeqs) |
| VTE | 0.84.1, [run as a library](https://git.jcollie.dev/jeff/control-codes/src/branch/main/emulators/results/vte.json) |
| VS Code | 1.140.0, its [documentation](https://code.visualstudio.com/docs/terminal/shell-integration) |
| Orca | 1.4.219, [source](https://github.com/stablyai/orca/tree/e705cac04a1db7e7e2184746e912142d34ca838b) |
| Linux console | man-pages 6.19, [`console_codes(4)`](https://man7.org/linux/man-pages/man4/console_codes.4.html) |

## C0 control characters

| | VT220 | VT340 | VT510 | xterm | libghostty-vt | Konsole | kitty | foot | pyte | xterm.js headless | alacritty_terminal | iTerm2 | ConEmu | rxvt-unicode | mintty | VTE | VS Code | Orca | Linux console |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| [BEL](/c0/bel/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  |  |  | **Yes** | **Yes** | **Yes** |  |  |  |  | *Partly* |  |  |  |
| [BS](/c0/bs/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | **Yes** | **Yes** | **Yes** |  |  |  |  | **Yes** |  |  |  |
| [CAN](/c0/can/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | *Partly* | *Partly* | **Yes** | *Partly* |  |  |  |  | **Yes** |  |  |  |
| [CR](/c0/cr/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  |  |  |  | **Yes** |  |  |  |
| [DC1](/c0/dc1/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| [ENQ](/c0/enq/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| [ESC](/c0/esc/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | No | **Yes** | No | **Yes** | **Yes** |  |  |  |  | **Yes** |  |  |  |
| [FF](/c0/ff/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | *Partly* | **Yes** | **Yes** | *Partly* |  |  |  |  | *Partly* |  |  |  |
| [HT](/c0/ht/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | **Yes** | **Yes** | **Yes** | **Yes** |  |  |  |  | **Yes** |  |  |  |
| [LF](/c0/lf/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | *Partly* | **Yes** | **Yes** | *Partly* |  |  |  |  | *Partly* |  |  |  |
| [NUL](/c0/nul/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| [SO](/c0/so/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | **Yes** | No | **Yes** | **Yes** |  |  |  |  | **Yes** |  |  |  |
| [SUB](/c0/sub/) | **Yes** |  | **Yes** | **Yes** | *Partly* |  | No | No | No | No | No |  |  |  |  | **Yes** |  |  |  |
| [VT](/c0/vt/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | *Partly* | **Yes** | **Yes** | *Partly* |  |  |  |  | *Partly* |  |  |  |

## Escape sequences

| | VT220 | VT340 | VT510 | xterm | libghostty-vt | Konsole | kitty | foot | pyte | xterm.js headless | alacritty_terminal | iTerm2 | ConEmu | rxvt-unicode | mintty | VTE | VS Code | Orca | Linux console |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| [CSI](/esc/csi/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |  | **Yes** |  |  | **Yes** |  |  |  |
| [DCS](/esc/dcs/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | **Yes** | No | *Partly* | *Partly* |  | No |  |  | *Partly* |  |  |  |
| [DECALN](/esc/decaln/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | **Yes** | No | *Partly* | No |  | No |  |  | **Yes** |  |  |  |
| [DECAUPSS](/esc/decaupss/) | No |  | **Yes** | *Partly* | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [DECBI](/esc/decbi/) | No |  | **Yes** | **Yes** | No |  | No | No | No | No | No |  | No |  |  | **Yes** |  |  |  |
| [DECDWL](/esc/decdwl/) | **Yes** |  | **Yes** | **Yes** | No |  | No | No | No | No | No |  | No |  |  | No |  |  |  |
| [DECKPAM](/esc/deckpam/) | *Partly* |  | **Yes** | **Yes** | **Yes** |  | No | **Yes** |  | **Yes** | No |  | No |  |  | **Yes** |  |  |  |
| [DECSC](/esc/decsc/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | **Yes** | *Partly* | **Yes** | **Yes** |  | *Partly* |  |  | **Yes** |  |  |  |
| [HTS](/esc/hts/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  |  |  | **Yes** | **Yes** | **Yes** |  | No |  |  | **Yes** |  |  |  |
| [LS2](/esc/ls2/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | No | **Yes** | No | **Yes** | No |  | No |  |  | No |  |  |  |
| [NEL](/esc/nel/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | No | *Partly* | *Partly* |  | **Yes** |  |  | **Yes** |  |  |  |
| [RI](/esc/ri/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |  | **Yes** |  |  | **Yes** |  |  |  |
| [RIS](/esc/ris/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | **Yes** | *Partly* | **Yes** | *Partly* |  | **Yes** |  |  | *Partly* |  |  |  |
| [SOS](/esc/sos/) | No |  | *Partly* | **Yes** | **Yes** |  | No | **Yes** | No | **Yes** | **Yes** |  | No |  |  | **Yes** |  |  |  |
| [SPA](/esc/spa/) | No |  | No | **Yes** | **Yes** |  | No | No | No | *Partly* | No |  | No |  |  | No |  |  |  |
| [SS2](/esc/ss2/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | No | *Partly* | No | No | No |  | No |  |  | No |  |  |  |
| [ST](/esc/st/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |  | *Partly* |  |  | **Yes** |  |  |  |

## Control sequences

| | VT220 | VT340 | VT510 | xterm | libghostty-vt | Konsole | kitty | foot | pyte | xterm.js headless | alacritty_terminal | iTerm2 | ConEmu | rxvt-unicode | mintty | VTE | VS Code | Orca | Linux console |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| [CBT](/csi/cbt/) | No |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  | No |  |  | **Yes** |  |  |  |
| [CHA](/csi/cha/) | No |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  | **Yes** |  |  | **Yes** |  |  |  |
| [CHT](/csi/cht/) | No |  | **Yes** | **Yes** | **Yes** |  | **Yes** | *Partly* | No | **Yes** | **Yes** |  | No |  |  | **Yes** |  |  |  |
| [CNL](/csi/cnl/) | No |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  | **Yes** |  |  | **Yes** |  |  |  |
| [CPL](/csi/cpl/) | No |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  | **Yes** |  |  | **Yes** |  |  |  |
| [CSI = u](/csi/kitty-keyboard/) | No |  | No | No | **Yes** |  | **Yes** |  |  |  |  |  | No |  |  |  |  |  |  |
| [CTC](/csi/ctc/) | No |  | *Partly* | No | *Partly* |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [CUB](/csi/cub/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  | **Yes** |  |  | **Yes** |  |  |  |
| [CUD](/csi/cud/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | *Partly* | *Partly* | **Yes** | *Partly* |  | **Yes** |  |  | **Yes** |  |  |  |
| [CUF](/csi/cuf/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  | **Yes** |  |  | **Yes** |  |  |  |
| [CUP](/csi/cup/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | **Yes** | *Partly* | **Yes** | **Yes** |  | **Yes** |  |  | **Yes** |  |  |  |
| [CUU](/csi/cuu/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | *Partly* | *Partly* | **Yes** | *Partly* |  | **Yes** |  |  | **Yes** |  |  |  |
| [DA](/csi/da/) | *Partly* |  | **Yes** | **Yes** | **Yes** |  |  |  |  |  |  |  | *Partly* |  |  |  |  |  |  |
| [DCH](/csi/dch/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  | **Yes** |  |  | **Yes** |  |  |  |
| [DECCARA](/csi/deccara/) | No |  | **Yes** | **Yes** | No |  | *Partly* | No | No | No | No |  | No |  |  | **Yes** |  |  |  |
| [DECCRA](/csi/deccra/) | No |  | **Yes** | **Yes** | No |  | No | **Yes** | No | No | No |  | No |  |  | **Yes** |  |  |  |
| [DECDSR](/csi/decdsr/) | *Partly* |  | *Partly* | **Yes** | No |  | No | No | No | No | No |  | No |  |  | **Yes** |  |  |  |
| [DECELR](/csi/decelr/) | No |  | No | *Partly* | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [DECERA](/csi/decera/) | No |  | **Yes** | **Yes** | No |  | No | *Partly* | No | No | No |  | No |  |  | **Yes** |  |  |  |
| [DECFRA](/csi/decfra/) | No |  | **Yes** | **Yes** | No |  | No | *Partly* | No | No | No |  | No |  |  | **Yes** |  |  |  |
| [DECIC](/csi/decic/) | No |  | **Yes** | **Yes** | No |  | No | No | No | *Partly* | No |  | No |  |  | **Yes** |  |  |  |
| [DECRQCRA](/csi/decrqcra/) | No |  | **Yes** | *Partly* | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [DECRQM](/csi/decrqm/) | No |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | No | *Partly* | *Partly* |  | No |  |  | **Yes** |  |  |  |
| [DECRQPSR](/csi/decrqpsr/) | No |  | **Yes** | **Yes** | No |  | No | No | No | No | No |  | No |  |  | No |  |  |  |
| [DECRQTSR](/csi/decrqtsr/) | No |  | **Yes** | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [DECRST](/csi/decrst/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | **Yes** | **Yes** | **Yes** | **Yes** |  | *Partly* |  |  | **Yes** |  |  |  |
| [DECSASD](/csi/decsasd/) | No |  | **Yes** | No | *Partly* |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [DECSCA](/csi/decsca/) | *Partly* |  | **Yes** | **Yes** | *Partly* |  | *Partly* | No | *Partly* | *Partly* | No |  | No |  |  | *Partly* |  |  |  |
| [DECSCL](/csi/decscl/) | **Yes** |  | **Yes** | **Yes** | No |  | No | No | No | No | No |  | No |  |  | *Partly* |  |  |  |
| [DECSCPP](/csi/decscpp/) | No |  | **Yes** | **Yes** | No |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  | No |  |  | *Partly* |  |  |  |
| [DECSCUSR](/csi/decscusr/) | No |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | No | *Partly* |  |  | **Yes** |  |  | *Partly* |  |  |  |
| [DECSET](/csi/decset/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | **Yes** | **Yes** | **Yes** | **Yes** |  | *Partly* |  |  | **Yes** |  |  |  |
| [DECSLRM](/csi/decslrm/) | No |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  | No |  |  | **Yes** |  |  |  |
| [DECSNLS](/csi/decsnls/) | No |  | **Yes** | **Yes** | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [DECSR](/csi/decsr/) | No |  | **Yes** | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [DECSTBM](/csi/decstbm/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |  | **Yes** |  |  | **Yes** |  |  |  |
| [DECSTR](/csi/decstr/) | **Yes** |  | **Yes** | **Yes** | No |  | **Yes** | *Partly* | No | **Yes** | *Partly* |  | No |  |  | *Partly* |  |  |  |
| [DECTST](/csi/dectst/) | **Yes** |  | **Yes** | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [DL](/csi/dl/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  | **Yes** |  |  | **Yes** |  |  |  |
| [DSR](/csi/dsr/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  | **Yes** |  |  | **Yes** |  |  |  |
| [ECH](/csi/ech/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |  | **Yes** |  |  | **Yes** |  |  |  |
| [ED](/csi/ed/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | **Yes** | **Yes** | **Yes** | *Partly* |  | **Yes** |  |  | **Yes** |  |  |  |
| [EL](/csi/el/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |  | **Yes** |  |  | **Yes** |  |  |  |
| [HPA](/csi/hpa/) | No |  | **Yes** | **Yes** | **Yes** |  | **Yes** | **Yes** | No | **Yes** | **Yes** |  | No |  |  | **Yes** |  |  |  |
| [HPB](/csi/hpb/) | No |  | No | No | **Yes** |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [HPR](/csi/hpr/) | No |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  | No |  |  | No |  |  |  |
| [HVP](/csi/hvp/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | **Yes** | *Partly* | **Yes** | **Yes** |  | **Yes** |  |  | **Yes** |  |  |  |
| [ICH](/csi/ich/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  | **Yes** |  |  | **Yes** |  |  |  |
| [IL](/csi/il/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  | **Yes** |  |  | **Yes** |  |  |  |
| [MC](/csi/mc/) | **Yes** |  | **Yes** | *Partly* | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [NP](/csi/np/) | No |  | **Yes** | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [REP](/csi/rep/) | No |  | No | **Yes** | **Yes** |  | *Partly* | *Partly* | No | *Partly* | *Partly* |  | **Yes** |  |  | *Partly* |  |  |  |
| [RM](/csi/rm/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | **Yes** | *Partly* | *Partly* |  | *Partly* |  |  | *Partly* |  |  |  |
| [SD](/csi/sd/) | No |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | No | *Partly* | *Partly* |  | *Partly* |  |  | **Yes** |  |  |  |
| [SGR](/csi/sgr/) | *Partly* |  | *Partly* | **Yes** | **Yes** |  | **Yes** |  | *Partly* | **Yes** | **Yes** |  | *Partly* |  |  | **Yes** |  |  |  |
| [SIMD](/csi/simd/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [SL](/csi/sl/) | No |  | No | **Yes** | No |  | No | No | No | *Partly* | No |  | No |  |  | **Yes** |  |  |  |
| [SM](/csi/sm/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | No | **Yes** | **Yes** | *Partly* |  | *Partly* |  |  | *Partly* |  |  |  |
| [SU](/csi/su/) | No |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | No | *Partly* | *Partly* |  | *Partly* |  |  | **Yes** |  |  |  |
| [TBC](/csi/tbc/) | **Yes** |  | **Yes** | **Yes** | *Partly* |  |  |  | **Yes** | **Yes** | **Yes** |  | No |  |  | **Yes** |  |  |  |
| [VPA](/csi/vpa/) | No |  | **Yes** | **Yes** | **Yes** |  | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |  | **Yes** |  |  | **Yes** |  |  |  |
| [VPB](/csi/vpb/) | No |  | No | No | **Yes** |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [VPR](/csi/vpr/) | No |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  | No |  |  | No |  |  |  |
| [XTMODKEYS](/csi/xtmodkeys/) | No |  | No | **Yes** | *Partly* |  | No | *Partly* | No | No | No |  | No |  |  | No |  |  |  |
| [XTRESTORE](/csi/xtrestore/) | No |  | No | **Yes** | **Yes** |  | *Partly* | **Yes** | No | No | No |  | No |  |  | *Partly* |  |  |  |
| [XTSAVE](/csi/xtsave/) | No |  | No | **Yes** | **Yes** |  | *Partly* | **Yes** | No | No | No |  | No |  |  | *Partly* |  |  |  |
| [XTVERSION](/csi/xtversion/) | No |  | No | **Yes** | **Yes** |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [XTWINOPS](/csi/xtwinops/) | No |  | *Partly* | *Partly* | *Partly* |  | *Partly* | **Yes** | No | No | *Partly* |  | *Partly* |  |  | **Yes** |  |  |  |

## ANSI modes

| | VT220 | VT340 | VT510 | xterm | libghostty-vt | Konsole | kitty | foot | pyte | xterm.js headless | alacritty_terminal | iTerm2 | ConEmu | rxvt-unicode | mintty | VTE | VS Code | Orca | Linux console |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| [1](/ansi/gatm/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [2](/ansi/kam/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | No | No |  | No | No |  | No |  |  | No |  |  |  |
| [3](/ansi/crm/) | No |  | **Yes** | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [4](/ansi/irm/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  | No |  |  | **Yes** |  |  |  |
| [5](/ansi/srtm/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [6](/ansi/erm/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [7](/ansi/vem/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [8](/ansi/bdsm/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [9](/ansi/dcsm/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [10](/ansi/hem/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [11](/ansi/pum/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [12](/ansi/srm/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | No | No |  | No | No |  | No |  |  | No |  |  |  |
| [13](/ansi/feam/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [14](/ansi/fetm/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [15](/ansi/matm/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [16](/ansi/ttm/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [17](/ansi/satm/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [18](/ansi/tsm/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [19](/ansi/ebm/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [20](/ansi/lnm/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | No | **Yes** | **Yes** | *Partly* |  | **Yes** |  |  | No |  |  |  |
| [21](/ansi/grcm/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [22](/ansi/zdm/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |

## Private modes

| | VT220 | VT340 | VT510 | xterm | libghostty-vt | Konsole | kitty | foot | pyte | xterm.js headless | alacritty_terminal | iTerm2 | ConEmu | rxvt-unicode | mintty | VTE | VS Code | Orca | Linux console |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| [?1](/modes/decckm/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | **Yes** |  | **Yes** | **Yes** |  | **Yes** |  |  | **Yes** |  |  |  |
| [?3](/modes/deccolm/) | **Yes** |  | **Yes** | *Partly* | **Yes** |  | *Partly* | No | *Partly* | No | *Partly* |  | No |  |  | *Partly* |  |  |  |
| [?4](/modes/decsclm/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | No | No |  | No | No |  | No |  |  | No |  |  |  |
| [?5](/modes/decscnm/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | **Yes** | No | No | No |  | No |  |  | **Yes** |  |  |  |
| [?6](/modes/decom/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | *Partly* | *Partly* | *Partly* | *Partly* |  | No |  |  | **Yes** |  |  |  |
| [?7](/modes/decawm/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | *Partly* | **Yes** | **Yes** | **Yes** | **Yes** |  | No |  |  | **Yes** |  |  |  |
| [?8](/modes/decarm/) | **Yes** |  | **Yes** | No | **Yes** |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [?12](/modes/blink/) | No |  | No | **Yes** | **Yes** |  | No | **Yes** |  | **Yes** | **Yes** |  | No |  |  | No |  |  |  |
| [?19](/modes/decpex/) | **Yes** |  | **Yes** | **Yes** | No |  | No | No |  | No | No |  | No |  |  | No |  |  |  |
| [?25](/modes/dectcem/) | **Yes** |  | **Yes** | **Yes** | **Yes** |  | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |  | **Yes** |  |  |  |  |  |  |
| [?42](/modes/decnrcm/) | **Yes** |  | **Yes** | **Yes** | No |  | No | No | No | *Partly* | No |  | No |  |  | No |  |  |  |
| [?46](/modes/logging/) | No |  | No | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [?60](/modes/dechccm/) | No |  | *Partly* | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [?68](/modes/deckbum/) | No |  | **Yes** | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [?80](/modes/decsdm/) | No | **Yes** | No | *Partly* | No | **Yes** |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [?1000](/modes/mouse/) | No |  | No | **Yes** | *Partly* |  | *Partly* | *Partly* |  | *Partly* | *Partly* |  | *Partly* |  |  | *Partly* |  |  |  |
| [?1004](/modes/focus/) | No |  | No | **Yes** | **Yes** |  | **Yes** | *Partly* |  | **Yes** | **Yes** |  | **Yes** |  |  | *Partly* |  |  |  |
| [?1049](/modes/altscreen/) | No |  | No | **Yes** | *Partly* |  | *Partly* | *Partly* | No | *Partly* | *Partly* |  | *Partly* |  |  | *Partly* |  |  |  |
| [?2004](/modes/paste/) | No |  | No | **Yes** | **Yes** |  | **Yes** | **Yes** |  | **Yes** | **Yes** |  | **Yes** |  |  | **Yes** |  |  |  |
| [?2026](/modes/sync/) | No |  | No | No | **Yes** |  |  |  |  |  |  |  | No |  |  |  |  |  |  |

## Device control strings

| | VT220 | VT340 | VT510 | xterm | libghostty-vt | Konsole | kitty | foot | pyte | xterm.js headless | alacritty_terminal | iTerm2 | ConEmu | rxvt-unicode | mintty | VTE | VS Code | Orca | Linux console |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| [DECDLD](/dcs/decdld/) | **Yes** |  | **Yes** | No | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [DECRQSS](/dcs/decrqss/) | No |  | **Yes** | **Yes** | *Partly* |  | *Partly* | *Partly* | No | *Partly* | No |  | No |  |  | *Partly* |  |  |  |
| [DECUDK](/dcs/decudk/) | **Yes** |  | **Yes** | *Partly* | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [ReGIS](/dcs/regis/) | No | **Yes** | No | No | No | No |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [Sixel](/dcs/sixel/) | No | **Yes** | No | No | No | **Yes** |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [XTGETTCAP](/dcs/xtgettcap/) | No |  | No | **Yes** | *Partly* |  | **Yes** | **Yes** | No | No | No |  | No |  |  | **Yes** |  |  |  |
| [XTGETXRES](/dcs/xtgetxres/) | No |  | No | **Yes** | No |  | No | No | No | No | No |  | No |  |  | No |  |  |  |
| [XTSETTCAP](/dcs/xtsettcap/) | No |  | No | **Yes** | No |  |  |  |  |  |  |  | No |  |  |  |  |  |  |

## Operating system commands

| | VT220 | VT340 | VT510 | xterm | libghostty-vt | Konsole | kitty | foot | pyte | xterm.js headless | alacritty_terminal | iTerm2 | ConEmu | rxvt-unicode | mintty | VTE | VS Code | Orca | Linux console |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| [OSC 0](/osc/icon-and-title/) | No |  | No | **Yes** | *Partly* | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |  | **Yes** |  |  | **Yes** |  |  |  |
| [OSC 1](/osc/icon/) | No |  | No | **Yes** | No | **Yes** |  |  |  |  |  |  | *Partly* |  |  |  |  |  |  |
| [OSC 2](/osc/title/) | No |  | No | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |  | **Yes** |  |  | **Yes** |  |  |  |
| [OSC 3](/osc/x-property/) | No |  | No | *Partly* | No | No |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 4](/osc/palette/) | No |  | No | **Yes** | **Yes** | *Partly* | *Partly* | *Partly* | No | No | *Partly* |  | No |  |  | *Partly* |  |  |  |
| [OSC 5](/osc/special-colors/) | No |  | No | **Yes** | No | No | No | No | No | No | No |  | No |  |  | No |  |  |  |
| [OSC 6](/osc/color-mode/) | No |  | No | **Yes** | No | No |  |  |  |  |  | No | No |  |  |  |  |  |  |
| [OSC 7](/osc/cwd/) | No |  | No | No | **Yes** | **Yes** |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 8](/osc/hyperlink/) | No |  | No | No | **Yes** | *Partly* |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 9](/osc/notify/) | No |  | No | No | **Yes** | No |  |  |  |  |  | **Yes** | No |  |  |  |  |  |  |
| [OSC 9 ; 1](/osc/conemu-sleep/) | No |  | No | No | No | No |  |  |  |  |  |  | **Yes** |  |  |  |  |  |  |
| [OSC 9 ; 2](/osc/conemu-message/) | No |  | No | No | No | No |  |  |  |  |  |  | **Yes** |  |  |  |  |  |  |
| [OSC 9 ; 3](/osc/conemu-tab-title/) | No |  | No | No | No | No |  |  |  |  |  |  | **Yes** |  |  |  |  |  |  |
| [OSC 9 ; 4](/osc/progress/) | No |  | No | No | **Yes** | *Partly* |  |  |  |  |  |  | **Yes** |  |  |  |  |  |  |
| [OSC 9 ; 5](/osc/conemu-wait/) | No |  | No | No | No | No |  |  |  |  |  |  | **Yes** |  |  |  |  |  |  |
| [OSC 9 ; 6](/osc/conemu-macro/) | No |  | No | No | No | No |  |  |  |  |  |  | **Yes** |  |  |  |  |  |  |
| [OSC 9 ; 7](/osc/conemu-run/) | No |  | No | No | No | No |  |  |  |  |  |  | **Yes** |  |  |  |  |  |  |
| [OSC 9 ; 8](/osc/conemu-env/) | No |  | No | No | No | No |  |  |  |  |  |  | **Yes** |  |  |  |  |  |  |
| [OSC 9 ; 9](/osc/conemu-cwd/) | No |  | No | No | **Yes** | No |  |  |  |  |  |  | **Yes** |  |  |  |  |  |  |
| [OSC 9 ; 10](/osc/conemu-xterm/) | No |  | No | No | No | No |  |  |  |  |  |  | **Yes** |  |  |  |  |  |  |
| [OSC 9 ; 11](/osc/conemu-comment/) | No |  | No | No | **Yes** | No |  |  |  |  |  |  | **Yes** |  |  |  |  |  |  |
| [OSC 9 ; 12](/osc/conemu-prompt/) | No |  | No | No | **Yes** | No |  |  |  |  |  |  | **Yes** |  |  |  |  |  |  |
| [OSC 10](/osc/foreground/) | No |  | No | **Yes** | **Yes** | **Yes** | **Yes** | *Partly* | No | No | *Partly* |  | No |  |  | *Partly* |  |  |  |
| [OSC 11](/osc/background/) | No |  | No | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | No | No | **Yes** |  | No |  |  | **Yes** |  |  |  |
| [OSC 12](/osc/cursor-color/) | No |  | No | **Yes** | **Yes** | *Partly* | **Yes** | **Yes** | No | No | **Yes** |  | No |  |  | **Yes** |  |  |  |
| [OSC 13](/osc/pointer-foreground/) | No |  | No | **Yes** | No | No | No | No | No | No | No |  | No |  |  | No |  |  |  |
| [OSC 14](/osc/pointer-background/) | No |  | No | **Yes** | No | No | No | No | No | No | No |  | No |  |  | No |  |  |  |
| [OSC 15](/osc/tek-foreground/) | No |  | No | **Yes** | No | No | No | No | No | No | No |  | No |  |  | No |  |  |  |
| [OSC 16](/osc/tek-background/) | No |  | No | **Yes** | No | No | No | No | No | No | No |  | No |  |  | No |  |  |  |
| [OSC 17](/osc/highlight-background/) | No |  | No | **Yes** | No | No | **Yes** | **Yes** | No | No | No |  | No |  |  | **Yes** |  |  |  |
| [OSC 18](/osc/tek-cursor/) | No |  | No | **Yes** | No | No | No | No | No | No | No |  | No |  |  | No |  |  |  |
| [OSC 19](/osc/highlight-foreground/) | No |  | No | **Yes** | No | No | **Yes** | **Yes** | No | No | No |  | No |  |  | **Yes** |  |  |  |
| [OSC 21](/osc/kitty-color/) | No |  | No | *Partly* | *Partly* | No | **Yes** |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 22](/osc/pointer/) | No |  | No | **Yes** | *Partly* | *Partly* | **Yes** |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 30](/osc/konsole-tab-title/) | No |  | No | No | No | **Yes** |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 31](/osc/konsole-cwd/) | No |  | No | No | No | No |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 32](/osc/konsole-tab-icon/) | No |  | No | No | No | **Yes** |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 34](/osc/konsole-tab-color/) | No |  | No | No | No | **Yes** |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 46](/osc/logfile/) | No |  | No | No | No | No |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 50](/osc/font/) | No |  | No | **Yes** | No | No |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 51](/osc/emacs/) | No |  | No | No | No | No |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 52](/osc/clipboard/) | No |  | No | *Partly* | *Partly* | *Partly* |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 60](/osc/allowed/) | No |  | No | **Yes** | No | No |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 61](/osc/disallowed/) | No |  | No | **Yes** | No | No |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 62](/osc/allowable/) | No |  | No | **Yes** | No | No |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 66](/osc/text-sizing/) | No |  | No | No | No | No | **Yes** |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 72](/osc/dnd/) | No |  | No | No | *Partly* | No | **Yes** |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 99](/osc/kitty-notify/) | No |  | No | No | No | *Partly* | **Yes** |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 104](/osc/reset-palette/) | No |  | No | **Yes** | **Yes** | **Yes** | **Yes** | *Partly* | No | No | *Partly* |  | No |  |  | **Yes** |  |  |  |
| [OSC 105](/osc/reset-special-colors/) | No |  | No | *Partly* | No | No |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 106](/osc/color-mode-106/) | No |  | No | **Yes** | No | No |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 110](/osc/reset-foreground/) | No |  | No | **Yes** | **Yes** | *Partly* | **Yes** | *Partly* | No | No | *Partly* |  | No |  |  | *Partly* |  |  |  |
| [OSC 111](/osc/reset-background/) | No |  | No | **Yes** | **Yes** | *Partly* | **Yes** | **Yes** | No | No | **Yes** |  | No |  |  | **Yes** |  |  |  |
| [OSC 112](/osc/reset-cursor-color/) | No |  | No | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | No | No | **Yes** |  | No |  |  | *Partly* |  |  |  |
| [OSC 113](/osc/reset-pointer-foreground/) | No |  | No | **Yes** | No | No | No | No | No | No | No |  | No |  |  | No |  |  |  |
| [OSC 114](/osc/reset-pointer-background/) | No |  | No | **Yes** | No | No | No | No | No | No | No |  | No |  |  | No |  |  |  |
| [OSC 115](/osc/reset-tek-foreground/) | No |  | No | **Yes** | No | No | No | No | No | No | No |  | No |  |  | No |  |  |  |
| [OSC 116](/osc/reset-tek-background/) | No |  | No | **Yes** | No | No | No | No | No | No | No |  | No |  |  | No |  |  |  |
| [OSC 117](/osc/reset-highlight-background/) | No |  | No | **Yes** | No | No | **Yes** | **Yes** | No | No | No |  | No |  |  | **Yes** |  |  |  |
| [OSC 118](/osc/reset-tek-cursor/) | No |  | No | **Yes** | No | No | No | No | No | No | No |  | No |  |  | No |  |  |  |
| [OSC 119](/osc/reset-highlight-foreground/) | No |  | No | **Yes** | No | No | **Yes** | **Yes** | No | No | No |  | No |  |  | **Yes** |  |  |  |
| [OSC 133](/osc/prompt/) | No |  | No | No | **Yes** | **Yes** |  |  |  |  |  | **Yes** | No |  |  |  |  |  |  |
| [OSC 176](/osc/app-id/) | No |  | No | No | No | No |  | **Yes** |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 440](/osc/sound/) | No |  | No | No | No | No |  |  |  |  |  |  | No |  | **Yes** |  |  |  |  |
| [OSC 555](/osc/flash/) | No |  | No | No | No | No |  | **Yes** |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 633](/osc/vscode/) | No |  | No | No | No | No |  |  |  |  |  |  | No |  |  |  | **Yes** |  |  |
| [OSC 666](/osc/termprop/) | No |  | No | No | No | No |  |  |  |  |  |  | No |  |  | **Yes** |  |  |  |
| [OSC 701](/osc/locale/) | No |  | No | No | No | No |  |  |  |  |  |  | No | **Yes** | **Yes** |  |  |  |  |
| [OSC 702](/osc/urxvt-version/) | No |  | No | No | No | No |  |  |  |  |  |  | No | **Yes** |  |  |  |  |  |
| [OSC 710](/osc/urxvt-font/) | No |  | No | No | No | No |  |  |  |  |  |  | No | **Yes** |  |  |  |  |  |
| [OSC 720](/osc/scroll-view/) | No |  | No | No | No | No |  |  |  |  |  |  | No | **Yes** |  |  |  |  |  |
| [OSC 776](/osc/cell-size/) | No |  | No | No | No | No |  |  |  |  |  |  | No | **Yes** |  |  |  |  |  |
| [OSC 777](/osc/rxvt/) | No |  | No | No | *Partly* | *Partly* |  |  |  |  |  |  | No | **Yes** |  |  |  |  |  |
| [OSC 1337](/osc/iterm2/) | No |  | No | No | *Partly* | *Partly* |  |  |  |  |  | **Yes** | No |  |  |  |  |  |  |
| [OSC 3008](/osc/context/) | No |  | No | No | No | No |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 5522](/osc/kitty-clipboard/) | No |  | No | No | **Yes** | No | **Yes** |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 7770](/osc/font-size/) | No |  | No | No | No | No |  |  |  |  |  |  | No |  | **Yes** |  |  |  |  |
| [OSC 7777](/osc/font-window-size/) | No |  | No | No | No | No |  |  |  |  |  |  | No |  | **Yes** |  |  |  |  |
| [OSC 9999](/osc/agent-status/) | No |  | No | No | No | No |  |  |  |  |  |  | No |  |  |  |  | **Yes** |  |
| [OSC 21337](/osc/iterm2-status/) | No |  | No | No | No | No |  |  |  |  |  | **Yes** | No |  |  |  |  |  |  |
| [OSC 30001](/osc/push-colors/) | No |  | No | No | No | No | **Yes** |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC 30101](/osc/pop-colors/) | No |  | No | No | No | No | **Yes** |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC I](/osc/dtterm-icon-file/) | No |  | No | **Yes** | No | No |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC L](/osc/dtterm-icon/) | No |  | No | **Yes** | No | No |  |  |  |  |  |  | No |  |  |  |  |  |  |
| [OSC P](/osc/linux-palette/) | No |  | No | *Partly* | No | No |  |  |  |  |  | **Yes** | No |  |  |  |  |  | **Yes** |
| [OSC R](/osc/linux-reset-palette/) | No |  | No | *Partly* | No | No |  |  |  |  |  |  | No |  |  |  |  |  | **Yes** |
| [OSC l](/osc/dtterm-title/) | No |  | No | **Yes** | No | No | No | No | No | No | No |  | No |  |  | No |  |  |  |

## Parsing

| | VT220 | VT340 | VT510 | xterm | libghostty-vt | Konsole | kitty | foot | pyte | xterm.js headless | alacritty_terminal | iTerm2 | ConEmu | rxvt-unicode | mintty | VTE | VS Code | Orca | Linux console |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| [C0 in sequences](/parser/controls/) | *Partly* |  | *Partly* | **Yes** | **Yes** |  | *Partly* | **Yes** | *Partly* | **Yes** | **Yes** |  |  |  |  | **Yes** |  |  |  |
| [Parameters](/parser/parameters/) | No |  | *Partly* | **Yes** | **Yes** |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| [UTF-8](/parser/utf8/) | No |  | No | **Yes** | **Yes** |  | **Yes** | *Partly* | **Yes** | No | *Partly* |  |  |  |  | **Yes** |  |  |  |

---

This is the Markdown version of <https://control-codes.page/support/>. On that page every validation case runs live in libghostty-vt, the terminal emulation core of Ghostty, compiled to WebAssembly.
