Computed, not transcribed
Every row is generated from the code point itself: the decimal value is the index, and the hex, octal and binary columns are that same integer rendered in base 16, 8 and 2. Nothing is transcribed by hand.
All 128 ASCII characters with their decimal, hexadecimal, octal and binary codes — control characters, digits, letters and punctuation in one table.
Characters
128
Printable
95
Bits per character
7
Control codes
33
ASCII defines 128 characters with codes 0 to 127 — 95 printable and 33 control characters.
128 of 128 rows
| Dec | Char | Hex | Oct | Binary | Name | Group |
|---|---|---|---|---|---|---|
| 0 | NUL | 0x00 | 000 | 0000000 | Null | Control |
| 1 | SOH | 0x01 | 001 | 0000001 | Start of Heading | Control |
| 2 | STX | 0x02 | 002 | 0000010 | Start of Text | Control |
| 3 | ETX | 0x03 | 003 | 0000011 | End of Text | Control |
| 4 | EOT | 0x04 | 004 | 0000100 | End of Transmission | Control |
| 5 | ENQ | 0x05 | 005 | 0000101 | Enquiry | Control |
| 6 | ACK | 0x06 | 006 | 0000110 | Acknowledge | Control |
| 7 | BEL | 0x07 | 007 | 0000111 | Bell | Control |
| 8 | BS | 0x08 | 010 | 0001000 | Backspace | Control |
| 9 | HT | 0x09 | 011 | 0001001 | Horizontal Tab | Control |
| 10 | LF | 0x0A | 012 | 0001010 | Line Feed | Control |
| 11 | VT | 0x0B | 013 | 0001011 | Vertical Tab | Control |
| 12 | FF | 0x0C | 014 | 0001100 | Form Feed | Control |
| 13 | CR | 0x0D | 015 | 0001101 | Carriage Return | Control |
| 14 | SO | 0x0E | 016 | 0001110 | Shift Out | Control |
| 15 | SI | 0x0F | 017 | 0001111 | Shift In | Control |
| 16 | DLE | 0x10 | 020 | 0010000 | Data Link Escape | Control |
| 17 | DC1 | 0x11 | 021 | 0010001 | Device Control 1 | Control |
| 18 | DC2 | 0x12 | 022 | 0010010 | Device Control 2 | Control |
| 19 | DC3 | 0x13 | 023 | 0010011 | Device Control 3 | Control |
| 20 | DC4 | 0x14 | 024 | 0010100 | Device Control 4 | Control |
| 21 | NAK | 0x15 | 025 | 0010101 | Negative Acknowledge | Control |
| 22 | SYN | 0x16 | 026 | 0010110 | Synchronous Idle | Control |
| 23 | ETB | 0x17 | 027 | 0010111 | End of Transmission Block | Control |
| 24 | CAN | 0x18 | 030 | 0011000 | Cancel | Control |
| 25 | EM | 0x19 | 031 | 0011001 | End of Medium | Control |
| 26 | SUB | 0x1A | 032 | 0011010 | Substitute | Control |
| 27 | ESC | 0x1B | 033 | 0011011 | Escape | Control |
| 28 | FS | 0x1C | 034 | 0011100 | File Separator | Control |
| 29 | GS | 0x1D | 035 | 0011101 | Group Separator | Control |
| 30 | RS | 0x1E | 036 | 0011110 | Record Separator | Control |
| 31 | US | 0x1F | 037 | 0011111 | Unit Separator | Control |
| 32 | (space) | 0x20 | 040 | 0100000 | Space | Space |
| 33 | ! | 0x21 | 041 | 0100001 | Character “!” | Punctuation & symbols |
| 34 | " | 0x22 | 042 | 0100010 | Character “"” | Punctuation & symbols |
| 35 | # | 0x23 | 043 | 0100011 | Character “#” | Punctuation & symbols |
| 36 | $ | 0x24 | 044 | 0100100 | Character “$” | Punctuation & symbols |
| 37 | % | 0x25 | 045 | 0100101 | Character “%” | Punctuation & symbols |
| 38 | & | 0x26 | 046 | 0100110 | Character “&” | Punctuation & symbols |
| 39 | ' | 0x27 | 047 | 0100111 | Character “'” | Punctuation & symbols |
| 40 | ( | 0x28 | 050 | 0101000 | Character “(” | Punctuation & symbols |
| 41 | ) | 0x29 | 051 | 0101001 | Character “)” | Punctuation & symbols |
| 42 | * | 0x2A | 052 | 0101010 | Character “*” | Punctuation & symbols |
| 43 | + | 0x2B | 053 | 0101011 | Character “+” | Punctuation & symbols |
| 44 | , | 0x2C | 054 | 0101100 | Character “,” | Punctuation & symbols |
| 45 | - | 0x2D | 055 | 0101101 | Character “-” | Punctuation & symbols |
| 46 | . | 0x2E | 056 | 0101110 | Character “.” | Punctuation & symbols |
| 47 | / | 0x2F | 057 | 0101111 | Character “/” | Punctuation & symbols |
| 48 | 0 | 0x30 | 060 | 0110000 | Character “0” | Digits |
| 49 | 1 | 0x31 | 061 | 0110001 | Character “1” | Digits |
| 50 | 2 | 0x32 | 062 | 0110010 | Character “2” | Digits |
| 51 | 3 | 0x33 | 063 | 0110011 | Character “3” | Digits |
| 52 | 4 | 0x34 | 064 | 0110100 | Character “4” | Digits |
| 53 | 5 | 0x35 | 065 | 0110101 | Character “5” | Digits |
| 54 | 6 | 0x36 | 066 | 0110110 | Character “6” | Digits |
| 55 | 7 | 0x37 | 067 | 0110111 | Character “7” | Digits |
| 56 | 8 | 0x38 | 070 | 0111000 | Character “8” | Digits |
| 57 | 9 | 0x39 | 071 | 0111001 | Character “9” | Digits |
| 58 | : | 0x3A | 072 | 0111010 | Character “:” | Punctuation & symbols |
| 59 | ; | 0x3B | 073 | 0111011 | Character “;” | Punctuation & symbols |
| 60 | < | 0x3C | 074 | 0111100 | Character “<” | Punctuation & symbols |
| 61 | = | 0x3D | 075 | 0111101 | Character “=” | Punctuation & symbols |
| 62 | > | 0x3E | 076 | 0111110 | Character “>” | Punctuation & symbols |
| 63 | ? | 0x3F | 077 | 0111111 | Character “?” | Punctuation & symbols |
| 64 | @ | 0x40 | 100 | 1000000 | Character “@” | Punctuation & symbols |
| 65 | A | 0x41 | 101 | 1000001 | Character “A” | Uppercase |
| 66 | B | 0x42 | 102 | 1000010 | Character “B” | Uppercase |
| 67 | C | 0x43 | 103 | 1000011 | Character “C” | Uppercase |
| 68 | D | 0x44 | 104 | 1000100 | Character “D” | Uppercase |
| 69 | E | 0x45 | 105 | 1000101 | Character “E” | Uppercase |
| 70 | F | 0x46 | 106 | 1000110 | Character “F” | Uppercase |
| 71 | G | 0x47 | 107 | 1000111 | Character “G” | Uppercase |
| 72 | H | 0x48 | 110 | 1001000 | Character “H” | Uppercase |
| 73 | I | 0x49 | 111 | 1001001 | Character “I” | Uppercase |
| 74 | J | 0x4A | 112 | 1001010 | Character “J” | Uppercase |
| 75 | K | 0x4B | 113 | 1001011 | Character “K” | Uppercase |
| 76 | L | 0x4C | 114 | 1001100 | Character “L” | Uppercase |
| 77 | M | 0x4D | 115 | 1001101 | Character “M” | Uppercase |
| 78 | N | 0x4E | 116 | 1001110 | Character “N” | Uppercase |
| 79 | O | 0x4F | 117 | 1001111 | Character “O” | Uppercase |
| 80 | P | 0x50 | 120 | 1010000 | Character “P” | Uppercase |
| 81 | Q | 0x51 | 121 | 1010001 | Character “Q” | Uppercase |
| 82 | R | 0x52 | 122 | 1010010 | Character “R” | Uppercase |
| 83 | S | 0x53 | 123 | 1010011 | Character “S” | Uppercase |
| 84 | T | 0x54 | 124 | 1010100 | Character “T” | Uppercase |
| 85 | U | 0x55 | 125 | 1010101 | Character “U” | Uppercase |
| 86 | V | 0x56 | 126 | 1010110 | Character “V” | Uppercase |
| 87 | W | 0x57 | 127 | 1010111 | Character “W” | Uppercase |
| 88 | X | 0x58 | 130 | 1011000 | Character “X” | Uppercase |
| 89 | Y | 0x59 | 131 | 1011001 | Character “Y” | Uppercase |
| 90 | Z | 0x5A | 132 | 1011010 | Character “Z” | Uppercase |
| 91 | [ | 0x5B | 133 | 1011011 | Character “[” | Punctuation & symbols |
| 92 | \ | 0x5C | 134 | 1011100 | Character “\” | Punctuation & symbols |
| 93 | ] | 0x5D | 135 | 1011101 | Character “]” | Punctuation & symbols |
| 94 | ^ | 0x5E | 136 | 1011110 | Character “^” | Punctuation & symbols |
| 95 | _ | 0x5F | 137 | 1011111 | Character “_” | Punctuation & symbols |
| 96 | ` | 0x60 | 140 | 1100000 | Character “`” | Punctuation & symbols |
| 97 | a | 0x61 | 141 | 1100001 | Character “a” | Lowercase |
| 98 | b | 0x62 | 142 | 1100010 | Character “b” | Lowercase |
| 99 | c | 0x63 | 143 | 1100011 | Character “c” | Lowercase |
| 100 | d | 0x64 | 144 | 1100100 | Character “d” | Lowercase |
| 101 | e | 0x65 | 145 | 1100101 | Character “e” | Lowercase |
| 102 | f | 0x66 | 146 | 1100110 | Character “f” | Lowercase |
| 103 | g | 0x67 | 147 | 1100111 | Character “g” | Lowercase |
| 104 | h | 0x68 | 150 | 1101000 | Character “h” | Lowercase |
| 105 | i | 0x69 | 151 | 1101001 | Character “i” | Lowercase |
| 106 | j | 0x6A | 152 | 1101010 | Character “j” | Lowercase |
| 107 | k | 0x6B | 153 | 1101011 | Character “k” | Lowercase |
| 108 | l | 0x6C | 154 | 1101100 | Character “l” | Lowercase |
| 109 | m | 0x6D | 155 | 1101101 | Character “m” | Lowercase |
| 110 | n | 0x6E | 156 | 1101110 | Character “n” | Lowercase |
| 111 | o | 0x6F | 157 | 1101111 | Character “o” | Lowercase |
| 112 | p | 0x70 | 160 | 1110000 | Character “p” | Lowercase |
| 113 | q | 0x71 | 161 | 1110001 | Character “q” | Lowercase |
| 114 | r | 0x72 | 162 | 1110010 | Character “r” | Lowercase |
| 115 | s | 0x73 | 163 | 1110011 | Character “s” | Lowercase |
| 116 | t | 0x74 | 164 | 1110100 | Character “t” | Lowercase |
| 117 | u | 0x75 | 165 | 1110101 | Character “u” | Lowercase |
| 118 | v | 0x76 | 166 | 1110110 | Character “v” | Lowercase |
| 119 | w | 0x77 | 167 | 1110111 | Character “w” | Lowercase |
| 120 | x | 0x78 | 170 | 1111000 | Character “x” | Lowercase |
| 121 | y | 0x79 | 171 | 1111001 | Character “y” | Lowercase |
| 122 | z | 0x7A | 172 | 1111010 | Character “z” | Lowercase |
| 123 | { | 0x7B | 173 | 1111011 | Character “{” | Punctuation & symbols |
| 124 | | | 0x7C | 174 | 1111100 | Character “|” | Punctuation & symbols |
| 125 | } | 0x7D | 175 | 1111101 | Character “}” | Punctuation & symbols |
| 126 | ~ | 0x7E | 176 | 1111110 | Character “~” | Punctuation & symbols |
| 127 | DEL | 0x7F | 177 | 1111111 | Delete | Control |
The “Dec” column is the number a program stores; “Char” is what you see on screen. Every other column is that same number written in a different base.
Control characters (codes 0–31 and 127) have no visible shape. Instead of a glyph they show their official abbreviation, such as LF for line feed.
Upper and lower case sit exactly 32 codes apart, which is why a single bit flips between “A” (65) and “a” (97).
Hover the chart to read the precise values.
A quarter of the code space goes to control characters — a legacy of the teleprinters ASCII was designed for in 1963.
Hover the chart to read the precise values.
The first two blocks are entirely control codes; from code 32 on, the code space is printable throughout except for the trailing DEL.
Hover the chart to read the precise values.
This is why hex is the usual notation for character codes: two digits cover the entire ASCII range.
Every row is generated from the code point itself: the decimal value is the index, and the hex, octal and binary columns are that same integer rendered in base 16, 8 and 2. Nothing is transcribed by hand.
Last checked against the sources on August 6, 2026.
ASCII defines exactly 128 characters with codes 0 to 127. 95 of them are printable; the remaining 33 are control characters.
128 characters need exactly 7 bits (2⁷ = 128). The eighth bit of a byte was originally left free for a parity check. Extensions such as Latin-1 later used it for another 128 characters.
Exactly 32. “A” is code 65 and “a” is code 97, which is why programs often switch case by adding or subtracting 32.
The digits are contiguous at 48 to 57, so a digit's numeric value is its code minus 48.
Yes. The first 128 Unicode code points are identical to ASCII, and UTF-8 encodes them as a single byte, so any ASCII text is automatically valid UTF-8.
On punched tape you deleted a character by punching all seven bits, which produces code 127. That is why DEL sits at the top of the table rather than with codes 0 to 31.
From the ASCII table to SI prefixes and the physical constants — every lookup table in one place.
Open the Number Base Converter