Skip to content

C0 Controls

Single-byte controls in 0x00–0x1F and 0x7F, plus the Fe-class two-byte introducers built on ESC. These are the most primitive terminal controls — backspace, line feed, carriage return, bell.

The C0 set

ByteMnemonicName
0x07BELBell — see Notifications
0x08BSBackspace — move cursor one cell left
0x09HTHorizontal Tab
0x0ALFLine Feed
0x0BVTVertical Tab (treated as LF by default)
0x0CFFForm Feed (treated as LF by default)
0x0DCRCarriage Return
0x0ESOShift Out — switch to G1 character set
0x0FSIShift In — switch back to G0
0x18CANCancel — abort an in-progress sequence
0x1ASUBSubstitute — same as CAN
0x1BESCEscape — introduces all multi-byte sequences
0x7FDELDelete — ignored on input by most terminals

Fe class — two-byte introducers

Sequences with ESC followed by a byte in 0x40–0x5F. These introduce richer protocols:

SequenceClassIntroduces
ESC DINDIndex (single-step move down)
ESC ENELNext Line
ESC MRIReverse Index
ESC PDCSDevice Control String (used by Kitty graphics, tmux passthrough)
ESC [CSIControl Sequence Introducer — see CSI
ESC \STString Terminator
ESC ]OSCOperating System Command — see OSC
ESC ^PMPrivacy Message
ESC _APCApplication Program Command (used by Kitty graphics)

See also

Otty