Control Characters Reference

ASCII control characters 0–31 with names, abbreviations and historic uses.

Interactive reference for ASCII control characters 0-31 and DEL (127), including caret notation, C escape equivalents, abbreviations, full names and what each one does in modern systems.

What are ASCII control characters?

Control characters are the non-printing codes 0-31 plus DEL (127) in ASCII. Instead of displaying a glyph, they signal actions such as newline, tab, backspace or interrupt. They form the C0 control set.

The non-printing side of ASCII

The first 32 ASCII codes, plus DEL at 127, are control characters: they do not display a glyph but instead instruct the device to perform an action such as advancing a line, sounding a bell, or interrupting a program. This reference lists every C0 control character with its decimal and hex value, caret notation, C escape sequence where one exists, abbreviation, full name and a note on its use.

How it works

Each control character has a fixed code. Caret notation is derived directly from that code: for codes 0-31 the caret letter is String.fromCharCode(code + 64), so code 3 becomes ^C and code 27 becomes ^[; DEL (127) is the special case ^?. Where the C language defines a backslash escape — \n, \r, \t, \0, \a, \b, \f, \v, \e — it is shown so you can recognise the character in source code. Search matches any of these forms at once.

Tips and notes

  • LF (10) is \n and CR (13) is \r; the CR+LF pair is the classic Windows line ending, while Unix uses LF alone.
  • Ctrl+C sends ETX (3) which the terminal turns into a SIGINT to interrupt the running program; Ctrl+D sends EOT (4), signalling end-of-file.
  • ESC (27) is the gateway to ANSI escape sequences used for cursor movement and color in the terminal.
  • The separators FS, GS, RS, US (28-31) form a nested delimiter hierarchy still occasionally used in data interchange formats.