ASCII (American Standard Code for Information Interchange) is a character encoding standard that represents text in electronic devices, such as computers, tablets, and smartphones. Within the ASCII table, a set of control characters exists that are intended to control or initiate certain functions rather than display a symbol or character.

The ASCII control characters range from 0x00 to 0x1F (0 to 31 in decimal). Here’s a list of the more commonly known ASCII control characters:

  1. 0x00NUL (Null character): A character that has all its bits set to zero.
  2. 0x01SOH (Start of Header): Used to indicate the start of a header.
  3. 0x02STX (Start of Text): Used to indicate the start of text in a communication protocol.
  4. 0x03ETX (End of Text): Indicates the end of a text block.
  5. 0x04EOT (End of Transmission): Signals the end of a transmission.
  6. 0x05ENQ (Enquiry): A request to the receiving device to send a response.
  7. 0x06ACK (Acknowledgment): Sent by the receiving device to confirm receipt of a message.
  8. 0x07BEL (Bell): Causes a bell or beep sound in devices that support it.
  9. 0x08BS (Backspace): Moves the cursor one space to the left.
  10. 0x09TAB (Horizontal Tab): Moves the cursor to the next tab stop.
  11. 0x0ALF (Line Feed): Moves the cursor to the next line.
  12. 0x0BVT (Vertical Tab): Used for vertical tabulation.
  13. 0x0CFF (Form Feed): Advances the paper to the next page in printers.
  14. 0x0DCR (Carriage Return): Moves the cursor to the beginning of the line.
  15. 0x0ESO (Shift Out): Switch to an alternative character set.
  16. 0x0FSI (Shift In): Return to the standard character set.
  17. 0x10DLE (Data Link Escape): A control character used in the transmission of other control characters.
  18. 0x11DC1 (or XON): Represents the “transmission on” in software flow control.
  19. 0x12DC2 (Device Control 2): Reserved for device-specific control.
  20. 0x13DC3 (or XOFF): Represents the “transmission off” in software flow control.
  21. 0x14DC4 (Device Control 4): Another device-specific control.
  22. 0x15NAK (Negative Acknowledgment): Indicates that the previously received message was corrupted or an error occurred.
  23. 0x16SYN (Synchronous Idle): Used in synchronous communication systems to maintain synchronization.
  24. 0x17ETB (End of Transmission Block): Indicates the end of a block of data.
  25. 0x18CAN (Cancel): Indicates that the previous data should be disregarded.
  26. 0x19EM (End of Medium): Indicates the end of the medium (like tape).
  27. 0x1ASUB (Substitute): Represents a substitute character for when an error is detected.
  28. 0x1BESC (Escape): A control character that begins an escape sequence.
  29. 0x1CFS (File Separator): Used to separate files.
  30. 0x1DGS (Group Separator): Used to separate groups of data.
  31. 0x1ERS (Record Separator): Used to separate records of data.
  32. 0x1FUS (Unit Separator): Used to separate units of data.

Note that the actual effect or behavior of some of these control characters can vary depending on the context or system in which they are used. The original purpose of many was for controlling teletypes and other early computer or communication devices. In modern computing, only a subset, like TAB, LF, and CR, are frequently seen.


Following the initial list of the ASCII control characters (0x00 to 0x1F), the rest of the ASCII table includes printable characters, ranging from 0x20 to 0x7E (32 to 126 in decimal). Here’s the list of these printable characters:

  1. 0x20Space: Represents a space between words and sentences.
  2. 0x21! (Exclamation Mark)
  3. 0x22 (Double Quote)
  4. 0x23# (Hash or Pound Sign)
  5. 0x24$ (Dollar Sign)
  6. 0x25% (Percent Sign)
  7. 0x26& (Ampersand)
  8. 0x27 (Single Quote or Apostrophe)
  9. 0x28( (Open Parenthesis)
  10. 0x29) (Close Parenthesis)
  11. 0x2A – *** (Asterisk)
  12. 0x2B+ (Plus Sign)
  13. 0x2C, (Comma)
  14. 0x2D (Hyphen or Minus Sign)
  15. 0x2E. (Period or Full Stop)
  16. 0x2F/ (Slash or Forward Slash)
  17. 0x30 to 0x390 to 9 (Digits)
  18. 0x3A: (Colon)
  19. 0x3B; (Semicolon)
  20. 0x3C< (Less Than Sign)
  21. 0x3D= (Equals Sign)
  22. 0x3E> (Greater Than Sign)
  23. 0x3F? (Question Mark)
  24. 0x40@ (At Symbol)
  25. 0x41 to 0x5AA to Z (Uppercase Alphabets)
  26. 0x5B[ (Open Square Bracket)
  27. 0x5C – ** (Backslash)
  28. 0x5D] (Close Square Bracket)
  29. 0x5E^ (Caret or Circumflex)
  30. 0x5F_ (Underscore)
  31. 0x60` (Grave Accent)
  32. 0x61 to 0x7Aa to z (Lowercase Alphabets)
  33. 0x7B{ (Open Curly Brace or Open Brace)
  34. 0x7C| (Vertical Bar or Pipe)
  35. 0x7D} (Close Curly Brace or Close Brace)
  36. 0x7E~ (Tilde)

The ASCII table actually continues on, but values above 0x7E are extended ASCII and can vary depending on the system or implementation. The list provided here covers the standard, unextended ASCII characters.


The original ASCII character set uses 7 bits to represent each character, which gives it a total of (2^7) or 128 characters, including both control characters and printable characters. These characters range from 0 to 127. The range 0x00 to 0x7F is standard for the ASCII character set.

However, with the advent of 8-bit computers and word lengths greater than 7 bits, the 8th bit was often used to add more characters to the set, creating what’s commonly referred to as the “Extended ASCII” set. This extended set allows for 256 characters, ranging from 0 to 255.

Please note that the characters in the range 0x80 to 0xFF (128 to 255) in the Extended ASCII set can vary widely between different systems and implementations. Different languages and regions have distinct characters and symbols, which led to different Extended ASCII tables, such as ISO 8859-1 (used for Western European languages) or Windows-1252 (a superset of ISO 8859-1 used in Windows systems).

Here’s a generalized representation of some ranges in the Extended ASCII set:

  • 0x80 to 0x9F: Additional control characters in some character sets.
  • 0xA0 to 0xFF: Various printable characters that include accented letters, special symbols, and punctuation marks used in various languages. The exact characters will vary depending on the specific Extended ASCII table in use.

For example, in ISO 8859-1:

  • 0xA0: Non-breaking space.
  • 0xA1: Inverted exclamation mark (¡).
  • 0xA2: Cent sign (¢).
  • 0xFF: Small letter ÿ.

However, it’s essential to understand that with the introduction and widespread adoption of Unicode (and encodings like UTF-8), the need for various Extended ASCII tables has diminished. Unicode provides a comprehensive character set that can represent virtually every character from every writing system in use today.