ASCII Table — Complete Character Code Reference
Full ASCII table with all 128 characters showing decimal, hexadecimal, octal, binary values and descriptions for control characters and printable characters.
ASCII (American Standard Code for Information Interchange) assigns numeric values to 128 characters. These include control characters (0-31, 127), printable characters (32-126), and the standard Latin alphabet. ASCII is the foundation of virtually all modern character encoding systems including UTF-8.
Control Characters (0-31, 127)
These non-printable characters were originally designed to control hardware devices like printers and telephones. Many still serve purposes in modern computing.
| Dec | Hex | Oct | Char | Name | Description |
|---|---|---|---|---|---|
| 0 | 00 | 000 | NUL | Null | String terminator in C |
| 1 | 01 | 001 | SOH | Start of Heading | Start of header |
| 2 | 02 | 002 | STX | Start of Text | Start of text body |
| 3 | 03 | 003 | ETX | End of Text | Often used as Ctrl+C (interrupt) |
| 4 | 04 | 004 | EOT | End of Transmission | Ctrl+D (end of input) |
| 5 | 05 | 005 | ENQ | Enquiry | Request for response |
| 6 | 06 | 006 | ACK | Acknowledge | Positive acknowledgement |
| 7 | 07 | 007 | BEL | Bell | Terminal bell/beep (\a) |
| 8 | 08 | 010 | BS | Backspace | Move cursor back (\b) |
| 9 | 09 | 011 | HT | Horizontal Tab | Tab character (\t) |
| 10 | 0A | 012 | LF | Line Feed | Newline on Unix/macOS (\n) |
| 11 | 0B | 013 | VT | Vertical Tab | Vertical tab (\v) |
| 12 | 0C | 014 | FF | Form Feed | Page break (\f) |
| 13 | 0D | 015 | CR | Carriage Return | Newline on old Mac; \r\n on Windows (\r) |
| 14 | 0E | 016 | SO | Shift Out | Switch to alternate character set |
| 15 | 0F | 017 | SI | Shift In | Return to default character set |
| 16 | 10 | 020 | DLE | Data Link Escape | Control character for data links |
| 17 | 11 | 021 | DC1 | Device Control 1 | XON — resume transmission |
| 18 | 12 | 022 | DC2 | Device Control 2 | |
| 19 | 13 | 023 | DC3 | Device Control 3 | XOFF — pause transmission |
| 20 | 14 | 024 | DC4 | Device Control 4 | |
| 21 | 15 | 025 | NAK | Negative Acknowledge | Negative acknowledgement |
| 22 | 16 | 026 | SYN | Synchronous Idle | Synchronization |
| 23 | 17 | 027 | ETB | End of Transmission Block | End of data block |
| 24 | 18 | 030 | CAN | Cancel | Cancel previous data |
| 25 | 19 | 031 | EM | End of Medium | End of storage medium |
| 26 | 1A | 032 | SUB | Substitute | Ctrl+Z (EOF on Windows) |
| 27 | 1B | 033 | ESC | Escape | Start of escape sequences |
| 28 | 1C | 034 | FS | File Separator | Delimiter |
| 29 | 1D | 035 | GS | Group Separator | Delimiter |
| 30 | 1E | 036 | RS | Record Separator | Delimiter |
| 31 | 1F | 037 | US | Unit Separator | Delimiter |
| 127 | 7F | 177 | DEL | Delete | Delete character |
Printable Characters (32-126)
| Dec | Hex | Oct | Char | Dec | Hex | Oct | Char | Dec | Hex | Oct | Char |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 32 | 20 | 040 | (space) | 64 | 40 | 100 | @ | 96 | 60 | 140 | ` |
| 33 | 21 | 041 | ! | 65 | 41 | 101 | A | 97 | 61 | 141 | a |
| 34 | 22 | 042 | " | 66 | 42 | 102 | B | 98 | 62 | 142 | b |
| 35 | 23 | 043 | # | 67 | 43 | 103 | C | 99 | 63 | 143 | c |
| 36 | 24 | 044 | $ | 68 | 44 | 104 | D | 100 | 64 | 144 | d |
| 37 | 25 | 045 | % | 69 | 45 | 105 | E | 101 | 65 | 145 | e |
| 38 | 26 | 046 | & | 70 | 46 | 106 | F | 102 | 66 | 146 | f |
| 39 | 27 | 047 | ' | 71 | 47 | 107 | G | 103 | 67 | 147 | g |
| 40 | 28 | 050 | ( | 72 | 48 | 110 | H | 104 | 68 | 150 | h |
| 41 | 29 | 051 | ) | 73 | 49 | 111 | I | 105 | 69 | 151 | i |
| 42 | 2A | 052 | * | 74 | 4A | 112 | J | 106 | 6A | 152 | j |
| 43 | 2B | 053 | + | 75 | 4B | 113 | K | 107 | 6B | 153 | k |
| 44 | 2C | 054 | , | 76 | 4C | 114 | L | 108 | 6C | 154 | l |
| 45 | 2D | 055 | - | 77 | 4D | 115 | M | 109 | 6D | 155 | m |
| 46 | 2E | 056 | . | 78 | 4E | 116 | N | 110 | 6E | 156 | n |
| 47 | 2F | 057 | / | 79 | 4F | 117 | O | 111 | 6F | 157 | o |
| 48 | 30 | 060 | 0 | 80 | 50 | 120 | P | 112 | 70 | 160 | p |
| 49 | 31 | 061 | 1 | 81 | 51 | 121 | Q | 113 | 71 | 161 | q |
| 50 | 32 | 062 | 2 | 82 | 52 | 122 | R | 114 | 72 | 162 | r |
| 51 | 33 | 063 | 3 | 83 | 53 | 123 | S | 115 | 73 | 163 | s |
| 52 | 34 | 064 | 4 | 84 | 54 | 124 | T | 116 | 74 | 164 | t |
| 53 | 35 | 065 | 5 | 85 | 55 | 125 | U | 117 | 75 | 165 | u |
| 54 | 36 | 066 | 6 | 86 | 56 | 126 | V | 118 | 76 | 166 | v |
| 55 | 37 | 067 | 7 | 87 | 57 | 127 | W | 119 | 77 | 167 | w |
| 56 | 38 | 070 | 8 | 88 | 58 | 130 | X | 120 | 78 | 170 | x |
| 57 | 39 | 071 | 9 | 89 | 59 | 131 | Y | 121 | 79 | 171 | y |
| 58 | 3A | 072 | : | 90 | 5A | 132 | Z | 122 | 7A | 172 | z |
| 59 | 3B | 073 | ; | 91 | 5B | 133 | [ | 123 | 7B | 173 | { |
| 60 | 3C | 074 | < | 92 | 5C | 134 | \ | 124 | 7C | 174 | | |
| 61 | 3D | 075 | = | 93 | 5D | 135 | ] | 125 | 7D | 175 | } |
| 62 | 3E | 076 | > | 94 | 5E | 136 | ^ | 126 | 7E | 176 | ~ |
| 63 | 3F | 077 | ? | 95 | 5F | 137 | _ |
Key Ranges
| Range | Dec | Hex | Contents |
|---|---|---|---|
| Control chars | 0-31 | 00-1F | Non-printable control codes |
| Space | 32 | 20 | The space character |
| Digits 0-9 | 48-57 | 30-39 | Numeric characters |
| Uppercase A-Z | 65-90 | 41-5A | Capital letters |
| Lowercase a-z | 97-122 | 61-7A | Lowercase letters |
| DEL | 127 | 7F | Delete control character |
Useful Conversions
# Uppercase to lowercase: add 32
'A' (65) + 32 = 'a' (97)
# Lowercase to uppercase: subtract 32
'a' (97) - 32 = 'A' (65)
# Digit char to number: subtract 48
'7' (55) - 48 = 7
# Number to digit char: add 48
7 + 48 = '7' (55)
# Check if printable: 32 <= code <= 126
ASCII vs Unicode
ASCII covers only 128 characters (7 bits). Unicode extends this to over 149,000 characters across all writing systems. UTF-8, the dominant encoding on the web, is backward-compatible with ASCII: the first 128 UTF-8 code points are identical to ASCII.
Explore the full table interactively with the ASCII Table tool, or convert between formats with ASCII to Hex and Hex to Text.
Comments