Free ASCII reference chart
ASCII table with every control code explained
This ASCII table is free and needs no signup: it lists all 128 standard code points plus the 128 Latin-1 and Windows-1252 extensions above them — 256 rows, each with its decimal, hexadecimal, octal and binary value, the character itself, its Unicode name and its HTML entity. The 33 control codes get the part other charts skip, with the C escape sequence and one line on what the code actually did. Everything is plain HTML rather than a script that draws a grid, so the chart is searchable, printable and readable with JavaScript switched off.
- 100% free
- No signup
- All 256 rows
- 33 control codes
- 155 HTML entities
Type or paste — the last character in the box is the one described. Control codes leave it empty.
A prefix overrides the base: 0x41, \x41, U+0041, 0o101, 0b01000001, A and A all resolve to A.
- Decimal
- 65
- Hexadecimal
- 0x41
- Octal
- 0o101
- Binary
- 0100 0001
- Unicode code point
- U+0041
- HTML entity
- A · A
- UTF-8 bytes
- 0x41
The full ASCII table
Three blocks: the 33 control codes, the 95 printable characters, and the 128 extended codes that ASCII itself does not define. Binary is shown as the eight bits a byte actually carries, so the leading zero of every ASCII code is visible — ASCII is a 7-bit standard, and bit 8 was originally a parity bit.
Control characters — 0 to 31, and 127
None of these print a glyph; each one commanded a teletype or a data link. The escape column is C notation, which most languages copied — with two exceptions worth knowing: JavaScript has no \a, where "\a" is simply the letter a, and Python has no \e, so both need \x1B for Escape. HTML5 names only two codes in this range, 	 and 
.
| Dec | Hex | Oct | Binary | Abbr | Name | Escape | What it does |
|---|---|---|---|---|---|---|---|
| 0 | 00 | 000 | 00000000 | NUL | Null | \0 | Ends a C string and pads records to a fixed length. It is not a space. |
| 1 | 01 | 001 | 00000001 | SOH | Start of Heading | \x01 | Opens the addressing header of a transmission block. |
| 2 | 02 | 002 | 00000010 | STX | Start of Text | \x02 | Closes the header and opens the message body. |
| 3 | 03 | 003 | 00000011 | ETX | End of Text | \x03 | Closes the message body. Ctrl+C sends it, which is why Ctrl+C interrupts. |
| 4 | 04 | 004 | 00000100 | EOT | End of Transmission | \x04 | Ends the whole transmission. Ctrl+D closes stdin in a Unix shell. |
| 5 | 05 | 005 | 00000101 | ENQ | Enquiry | \x05 | Asks the far end to identify itself and answer. |
| 6 | 06 | 006 | 00000110 | ACK | Acknowledge | \x06 | Confirms the previous block arrived intact. |
| 7 | 07 | 007 | 00000111 | BEL | Bell | \a | Rings the terminal bell, still audible in most emulators today. |
| 8 | 08 | 010 | 00001000 | BS | Backspace | \b | Moves the cursor one column left without erasing anything. |
| 9 | 09 | 011 | 00001001 | HT | Horizontal Tab | \t | Jumps to the next tab stop, historically every eighth column. |
| 10 | 0A | 012 | 00001010 | LF | Line Feed | \n | Advances one line. On its own it is the Unix and macOS newline. |
| 11 | 0B | 013 | 00001011 | VT | Vertical Tab | \v | Advances to the next vertical tab stop on a printer. |
| 12 | 0C | 014 | 00001100 | FF | Form Feed | \f | Ejects the page on a printer and clears the screen on a terminal. |
| 13 | 0D | 015 | 00001101 | CR | Carriage Return | \r | Returns the cursor to column one. CR followed by LF is the Windows newline. |
| 14 | 0E | 016 | 00001110 | SO | Shift Out | \x0E | Switches the printer to an alternate character set. |
| 15 | 0F | 017 | 00001111 | SI | Shift In | \x0F | Switches back to the standard character set. |
| 16 | 10 | 020 | 00010000 | DLE | Data Link Escape | \x10 | Marks the bytes that follow as link control, not payload. |
| 17 | 11 | 021 | 00010001 | DC1 | Device Control 1 (XON) | \x11 | Resumes a paused stream. Ctrl+Q sends it. |
| 18 | 12 | 022 | 00010010 | DC2 | Device Control 2 | \x12 | Device-specific; the standard deliberately leaves its meaning open. |
| 19 | 13 | 023 | 00010011 | DC3 | Device Control 3 (XOFF) | \x13 | Pauses a stream. Ctrl+S sends it, which is why Ctrl+S appears to freeze a terminal. |
| 20 | 14 | 024 | 00010100 | DC4 | Device Control 4 | \x14 | Device-specific, conventionally a stop or halt signal. |
| 21 | 15 | 025 | 00010101 | NAK | Negative Acknowledge | \x15 | Reports the previous block as corrupt and asks for a resend. |
| 22 | 16 | 026 | 00010110 | SYN | Synchronous Idle | \x16 | Filler that keeps a synchronous link in step while nothing is being sent. |
| 23 | 17 | 027 | 00010111 | ETB | End of Transmission Block | \x17 | Ends one block of a message that spans several. |
| 24 | 18 | 030 | 00011000 | CAN | Cancel | \x18 | Discards everything sent since the last block boundary. |
| 25 | 19 | 031 | 00011001 | EM | End of Medium | \x19 | Marks the physical end of the tape, card or reel of paper. |
| 26 | 1A | 032 | 00011010 | SUB | Substitute | \x1A | Stands in for a character that arrived damaged, and doubles as the DOS end-of-file, Ctrl+Z. |
| 27 | 1B | 033 | 00011011 | ESC | Escape | \x1B | Starts an escape sequence — the first byte of every ANSI colour code. |
| 28 | 1C | 034 | 00011100 | FS | File Separator | \x1C | Separates files in a stream, the outermost of the four separators. |
| 29 | 1D | 035 | 00011101 | GS | Group Separator | \x1D | Separates groups of records inside a file. |
| 30 | 1E | 036 | 00011110 | RS | Record Separator | \x1E | Separates records; RFC 7464 JSON text sequences still use it. |
| 31 | 1F | 037 | 00011111 | US | Unit Separator | \x1F | Separates fields inside a record — the delimiter CSV never adopted. |
| 127 | 7F | 177 | 01111111 | DEL | Delete | \x7F | Punched out all seven holes on paper tape, erasing whatever character was there. |
Printable ASCII — 32 to 126
The 95 characters every system agrees on. Note the arithmetic built into the layout: the digits start at 48 (0x30) so masking off the high nibble gives the numeric value, and each capital letter sits exactly 32 below its lowercase twin, so flipping the 0x20 bit changes case.
| Dec | Hex | Oct | Binary | Char | Name | HTML entity |
|---|---|---|---|---|---|---|
| 32 | 20 | 040 | 00100000 | SP | Space | — |
| 33 | 21 | 041 | 00100001 | ! | Exclamation mark | ! |
| 34 | 22 | 042 | 00100010 | " | Quotation mark | " |
| 35 | 23 | 043 | 00100011 | # | Number sign | # |
| 36 | 24 | 044 | 00100100 | $ | Dollar sign | $ |
| 37 | 25 | 045 | 00100101 | % | Percent sign | % |
| 38 | 26 | 046 | 00100110 | & | Ampersand | & |
| 39 | 27 | 047 | 00100111 | ' | Apostrophe | ' |
| 40 | 28 | 050 | 00101000 | ( | Left parenthesis | ( |
| 41 | 29 | 051 | 00101001 | ) | Right parenthesis | ) |
| 42 | 2A | 052 | 00101010 | * | Asterisk | * |
| 43 | 2B | 053 | 00101011 | + | Plus sign | + |
| 44 | 2C | 054 | 00101100 | , | Comma | , |
| 45 | 2D | 055 | 00101101 | - | Hyphen-minus | — |
| 46 | 2E | 056 | 00101110 | . | Full stop | . |
| 47 | 2F | 057 | 00101111 | / | Solidus (slash) | / |
| 48 | 30 | 060 | 00110000 | 0 | Digit zero | — |
| 49 | 31 | 061 | 00110001 | 1 | Digit one | — |
| 50 | 32 | 062 | 00110010 | 2 | Digit two | — |
| 51 | 33 | 063 | 00110011 | 3 | Digit three | — |
| 52 | 34 | 064 | 00110100 | 4 | Digit four | — |
| 53 | 35 | 065 | 00110101 | 5 | Digit five | — |
| 54 | 36 | 066 | 00110110 | 6 | Digit six | — |
| 55 | 37 | 067 | 00110111 | 7 | Digit seven | — |
| 56 | 38 | 070 | 00111000 | 8 | Digit eight | — |
| 57 | 39 | 071 | 00111001 | 9 | Digit nine | — |
| 58 | 3A | 072 | 00111010 | : | Colon | : |
| 59 | 3B | 073 | 00111011 | ; | Semicolon | ; |
| 60 | 3C | 074 | 00111100 | < | Less-than sign | < |
| 61 | 3D | 075 | 00111101 | = | Equals sign | = |
| 62 | 3E | 076 | 00111110 | > | Greater-than sign | > |
| 63 | 3F | 077 | 00111111 | ? | Question mark | ? |
| 64 | 40 | 100 | 01000000 | @ | Commercial at | @ |
| 65 | 41 | 101 | 01000001 | A | Latin capital letter A | — |
| 66 | 42 | 102 | 01000010 | B | Latin capital letter B | — |
| 67 | 43 | 103 | 01000011 | C | Latin capital letter C | — |
| 68 | 44 | 104 | 01000100 | D | Latin capital letter D | — |
| 69 | 45 | 105 | 01000101 | E | Latin capital letter E | — |
| 70 | 46 | 106 | 01000110 | F | Latin capital letter F | — |
| 71 | 47 | 107 | 01000111 | G | Latin capital letter G | — |
| 72 | 48 | 110 | 01001000 | H | Latin capital letter H | — |
| 73 | 49 | 111 | 01001001 | I | Latin capital letter I | — |
| 74 | 4A | 112 | 01001010 | J | Latin capital letter J | — |
| 75 | 4B | 113 | 01001011 | K | Latin capital letter K | — |
| 76 | 4C | 114 | 01001100 | L | Latin capital letter L | — |
| 77 | 4D | 115 | 01001101 | M | Latin capital letter M | — |
| 78 | 4E | 116 | 01001110 | N | Latin capital letter N | — |
| 79 | 4F | 117 | 01001111 | O | Latin capital letter O | — |
| 80 | 50 | 120 | 01010000 | P | Latin capital letter P | — |
| 81 | 51 | 121 | 01010001 | Q | Latin capital letter Q | — |
| 82 | 52 | 122 | 01010010 | R | Latin capital letter R | — |
| 83 | 53 | 123 | 01010011 | S | Latin capital letter S | — |
| 84 | 54 | 124 | 01010100 | T | Latin capital letter T | — |
| 85 | 55 | 125 | 01010101 | U | Latin capital letter U | — |
| 86 | 56 | 126 | 01010110 | V | Latin capital letter V | — |
| 87 | 57 | 127 | 01010111 | W | Latin capital letter W | — |
| 88 | 58 | 130 | 01011000 | X | Latin capital letter X | — |
| 89 | 59 | 131 | 01011001 | Y | Latin capital letter Y | — |
| 90 | 5A | 132 | 01011010 | Z | Latin capital letter Z | — |
| 91 | 5B | 133 | 01011011 | [ | Left square bracket | [ |
| 92 | 5C | 134 | 01011100 | \ | Reverse solidus (backslash) | \ |
| 93 | 5D | 135 | 01011101 | ] | Right square bracket | ] |
| 94 | 5E | 136 | 01011110 | ^ | Circumflex accent | ^ |
| 95 | 5F | 137 | 01011111 | _ | Low line (underscore) | _ |
| 96 | 60 | 140 | 01100000 | ` | Grave accent | ` |
| 97 | 61 | 141 | 01100001 | a | Latin small letter a | — |
| 98 | 62 | 142 | 01100010 | b | Latin small letter b | — |
| 99 | 63 | 143 | 01100011 | c | Latin small letter c | — |
| 100 | 64 | 144 | 01100100 | d | Latin small letter d | — |
| 101 | 65 | 145 | 01100101 | e | Latin small letter e | — |
| 102 | 66 | 146 | 01100110 | f | Latin small letter f | — |
| 103 | 67 | 147 | 01100111 | g | Latin small letter g | — |
| 104 | 68 | 150 | 01101000 | h | Latin small letter h | — |
| 105 | 69 | 151 | 01101001 | i | Latin small letter i | — |
| 106 | 6A | 152 | 01101010 | j | Latin small letter j | — |
| 107 | 6B | 153 | 01101011 | k | Latin small letter k | — |
| 108 | 6C | 154 | 01101100 | l | Latin small letter l | — |
| 109 | 6D | 155 | 01101101 | m | Latin small letter m | — |
| 110 | 6E | 156 | 01101110 | n | Latin small letter n | — |
| 111 | 6F | 157 | 01101111 | o | Latin small letter o | — |
| 112 | 70 | 160 | 01110000 | p | Latin small letter p | — |
| 113 | 71 | 161 | 01110001 | q | Latin small letter q | — |
| 114 | 72 | 162 | 01110010 | r | Latin small letter r | — |
| 115 | 73 | 163 | 01110011 | s | Latin small letter s | — |
| 116 | 74 | 164 | 01110100 | t | Latin small letter t | — |
| 117 | 75 | 165 | 01110101 | u | Latin small letter u | — |
| 118 | 76 | 166 | 01110110 | v | Latin small letter v | — |
| 119 | 77 | 167 | 01110111 | w | Latin small letter w | — |
| 120 | 78 | 170 | 01111000 | x | Latin small letter x | — |
| 121 | 79 | 171 | 01111001 | y | Latin small letter y | — |
| 122 | 7A | 172 | 01111010 | z | Latin small letter z | — |
| 123 | 7B | 173 | 01111011 | { | Left curly bracket | { |
| 124 | 7C | 174 | 01111100 | | | Vertical line (pipe) | | |
| 125 | 7D | 175 | 01111101 | } | Right curly bracket | } |
| 126 | 7E | 176 | 01111110 | ~ | Tilde | — |
Extended — 128 to 255 (Latin-1 and Windows-1252)
Strictly speaking there is no such thing as extended ASCII: ASCII ends at 127. What follows is ISO-8859-1 from 160 upwards, and Windows-1252 in the 128 to 159 block that ISO-8859-1 reserves for unprintable C1 controls. Five of those slots — 129, 141, 143, 144 and 157 — are left undefined even by Windows-1252.
| Dec | Hex | Oct | Binary | Char | Name | HTML entity |
|---|---|---|---|---|---|---|
| 128 | 80 | 200 | 10000000 | € | Euro sign | € |
| 129 | 81 | 201 | 10000001 | — | Unassigned in Windows-1252 (C1 control area) | — |
| 130 | 82 | 202 | 10000010 | ‚ | Single low-9 quotation mark | ‚ |
| 131 | 83 | 203 | 10000011 | ƒ | Latin small letter f with hook | ƒ |
| 132 | 84 | 204 | 10000100 | „ | Double low-9 quotation mark | „ |
| 133 | 85 | 205 | 10000101 | … | Horizontal ellipsis | … |
| 134 | 86 | 206 | 10000110 | † | Dagger | † |
| 135 | 87 | 207 | 10000111 | ‡ | Double dagger | ‡ |
| 136 | 88 | 210 | 10001000 | ˆ | Modifier letter circumflex accent | ˆ |
| 137 | 89 | 211 | 10001001 | ‰ | Per mille sign | ‰ |
| 138 | 8A | 212 | 10001010 | Š | Latin capital letter S with caron | Š |
| 139 | 8B | 213 | 10001011 | ‹ | Single left-pointing angle quotation mark | ‹ |
| 140 | 8C | 214 | 10001100 | Œ | Latin capital ligature OE | Œ |
| 141 | 8D | 215 | 10001101 | — | Unassigned in Windows-1252 (C1 control area) | — |
| 142 | 8E | 216 | 10001110 | Ž | Latin capital letter Z with caron | Ž |
| 143 | 8F | 217 | 10001111 | — | Unassigned in Windows-1252 (C1 control area) | — |
| 144 | 90 | 220 | 10010000 | — | Unassigned in Windows-1252 (C1 control area) | — |
| 145 | 91 | 221 | 10010001 | ‘ | Left single quotation mark | ‘ |
| 146 | 92 | 222 | 10010010 | ’ | Right single quotation mark | ’ |
| 147 | 93 | 223 | 10010011 | “ | Left double quotation mark | “ |
| 148 | 94 | 224 | 10010100 | ” | Right double quotation mark | ” |
| 149 | 95 | 225 | 10010101 | • | Bullet | • |
| 150 | 96 | 226 | 10010110 | – | En dash | – |
| 151 | 97 | 227 | 10010111 | — | Em dash | — |
| 152 | 98 | 230 | 10011000 | ˜ | Small tilde | ˜ |
| 153 | 99 | 231 | 10011001 | ™ | Trade mark sign | ™ |
| 154 | 9A | 232 | 10011010 | š | Latin small letter s with caron | š |
| 155 | 9B | 233 | 10011011 | › | Single right-pointing angle quotation mark | › |
| 156 | 9C | 234 | 10011100 | œ | Latin small ligature oe | œ |
| 157 | 9D | 235 | 10011101 | — | Unassigned in Windows-1252 (C1 control area) | — |
| 158 | 9E | 236 | 10011110 | ž | Latin small letter z with caron | ž |
| 159 | 9F | 237 | 10011111 | Ÿ | Latin capital letter Y with diaeresis | Ÿ |
| 160 | A0 | 240 | 10100000 | NBSP | No-break space | |
| 161 | A1 | 241 | 10100001 | ¡ | Inverted exclamation mark | ¡ |
| 162 | A2 | 242 | 10100010 | ¢ | Cent sign | ¢ |
| 163 | A3 | 243 | 10100011 | £ | Pound sign | £ |
| 164 | A4 | 244 | 10100100 | ¤ | Currency sign | ¤ |
| 165 | A5 | 245 | 10100101 | ¥ | Yen sign | ¥ |
| 166 | A6 | 246 | 10100110 | ¦ | Broken bar | ¦ |
| 167 | A7 | 247 | 10100111 | § | Section sign | § |
| 168 | A8 | 250 | 10101000 | ¨ | Diaeresis | ¨ |
| 169 | A9 | 251 | 10101001 | © | Copyright sign | © |
| 170 | AA | 252 | 10101010 | ª | Feminine ordinal indicator | ª |
| 171 | AB | 253 | 10101011 | « | Left-pointing double angle quotation mark | « |
| 172 | AC | 254 | 10101100 | ¬ | Not sign | ¬ |
| 173 | AD | 255 | 10101101 | SHY | Soft hyphen | ­ |
| 174 | AE | 256 | 10101110 | ® | Registered sign | ® |
| 175 | AF | 257 | 10101111 | ¯ | Macron | ¯ |
| 176 | B0 | 260 | 10110000 | ° | Degree sign | ° |
| 177 | B1 | 261 | 10110001 | ± | Plus-minus sign | ± |
| 178 | B2 | 262 | 10110010 | ² | Superscript two | ² |
| 179 | B3 | 263 | 10110011 | ³ | Superscript three | ³ |
| 180 | B4 | 264 | 10110100 | ´ | Acute accent | ´ |
| 181 | B5 | 265 | 10110101 | µ | Micro sign | µ |
| 182 | B6 | 266 | 10110110 | ¶ | Pilcrow sign | ¶ |
| 183 | B7 | 267 | 10110111 | · | Middle dot | · |
| 184 | B8 | 270 | 10111000 | ¸ | Cedilla | ¸ |
| 185 | B9 | 271 | 10111001 | ¹ | Superscript one | ¹ |
| 186 | BA | 272 | 10111010 | º | Masculine ordinal indicator | º |
| 187 | BB | 273 | 10111011 | » | Right-pointing double angle quotation mark | » |
| 188 | BC | 274 | 10111100 | ¼ | Vulgar fraction one quarter | ¼ |
| 189 | BD | 275 | 10111101 | ½ | Vulgar fraction one half | ½ |
| 190 | BE | 276 | 10111110 | ¾ | Vulgar fraction three quarters | ¾ |
| 191 | BF | 277 | 10111111 | ¿ | Inverted question mark | ¿ |
| 192 | C0 | 300 | 11000000 | À | Latin capital letter A with grave | À |
| 193 | C1 | 301 | 11000001 | Á | Latin capital letter A with acute | Á |
| 194 | C2 | 302 | 11000010 | Â | Latin capital letter A with circumflex | Â |
| 195 | C3 | 303 | 11000011 | Ã | Latin capital letter A with tilde | Ã |
| 196 | C4 | 304 | 11000100 | Ä | Latin capital letter A with diaeresis | Ä |
| 197 | C5 | 305 | 11000101 | Å | Latin capital letter A with ring above | Å |
| 198 | C6 | 306 | 11000110 | Æ | Latin capital letter AE | Æ |
| 199 | C7 | 307 | 11000111 | Ç | Latin capital letter C with cedilla | Ç |
| 200 | C8 | 310 | 11001000 | È | Latin capital letter E with grave | È |
| 201 | C9 | 311 | 11001001 | É | Latin capital letter E with acute | É |
| 202 | CA | 312 | 11001010 | Ê | Latin capital letter E with circumflex | Ê |
| 203 | CB | 313 | 11001011 | Ë | Latin capital letter E with diaeresis | Ë |
| 204 | CC | 314 | 11001100 | Ì | Latin capital letter I with grave | Ì |
| 205 | CD | 315 | 11001101 | Í | Latin capital letter I with acute | Í |
| 206 | CE | 316 | 11001110 | Î | Latin capital letter I with circumflex | Î |
| 207 | CF | 317 | 11001111 | Ï | Latin capital letter I with diaeresis | Ï |
| 208 | D0 | 320 | 11010000 | Ð | Latin capital letter Eth | Ð |
| 209 | D1 | 321 | 11010001 | Ñ | Latin capital letter N with tilde | Ñ |
| 210 | D2 | 322 | 11010010 | Ò | Latin capital letter O with grave | Ò |
| 211 | D3 | 323 | 11010011 | Ó | Latin capital letter O with acute | Ó |
| 212 | D4 | 324 | 11010100 | Ô | Latin capital letter O with circumflex | Ô |
| 213 | D5 | 325 | 11010101 | Õ | Latin capital letter O with tilde | Õ |
| 214 | D6 | 326 | 11010110 | Ö | Latin capital letter O with diaeresis | Ö |
| 215 | D7 | 327 | 11010111 | × | Multiplication sign | × |
| 216 | D8 | 330 | 11011000 | Ø | Latin capital letter O with stroke | Ø |
| 217 | D9 | 331 | 11011001 | Ù | Latin capital letter U with grave | Ù |
| 218 | DA | 332 | 11011010 | Ú | Latin capital letter U with acute | Ú |
| 219 | DB | 333 | 11011011 | Û | Latin capital letter U with circumflex | Û |
| 220 | DC | 334 | 11011100 | Ü | Latin capital letter U with diaeresis | Ü |
| 221 | DD | 335 | 11011101 | Ý | Latin capital letter Y with acute | Ý |
| 222 | DE | 336 | 11011110 | Þ | Latin capital letter Thorn | Þ |
| 223 | DF | 337 | 11011111 | ß | Latin small letter sharp s | ß |
| 224 | E0 | 340 | 11100000 | à | Latin small letter a with grave | à |
| 225 | E1 | 341 | 11100001 | á | Latin small letter a with acute | á |
| 226 | E2 | 342 | 11100010 | â | Latin small letter a with circumflex | â |
| 227 | E3 | 343 | 11100011 | ã | Latin small letter a with tilde | ã |
| 228 | E4 | 344 | 11100100 | ä | Latin small letter a with diaeresis | ä |
| 229 | E5 | 345 | 11100101 | å | Latin small letter a with ring above | å |
| 230 | E6 | 346 | 11100110 | æ | Latin small letter ae | æ |
| 231 | E7 | 347 | 11100111 | ç | Latin small letter c with cedilla | ç |
| 232 | E8 | 350 | 11101000 | è | Latin small letter e with grave | è |
| 233 | E9 | 351 | 11101001 | é | Latin small letter e with acute | é |
| 234 | EA | 352 | 11101010 | ê | Latin small letter e with circumflex | ê |
| 235 | EB | 353 | 11101011 | ë | Latin small letter e with diaeresis | ë |
| 236 | EC | 354 | 11101100 | ì | Latin small letter i with grave | ì |
| 237 | ED | 355 | 11101101 | í | Latin small letter i with acute | í |
| 238 | EE | 356 | 11101110 | î | Latin small letter i with circumflex | î |
| 239 | EF | 357 | 11101111 | ï | Latin small letter i with diaeresis | ï |
| 240 | F0 | 360 | 11110000 | ð | Latin small letter eth | ð |
| 241 | F1 | 361 | 11110001 | ñ | Latin small letter n with tilde | ñ |
| 242 | F2 | 362 | 11110010 | ò | Latin small letter o with grave | ò |
| 243 | F3 | 363 | 11110011 | ó | Latin small letter o with acute | ó |
| 244 | F4 | 364 | 11110100 | ô | Latin small letter o with circumflex | ô |
| 245 | F5 | 365 | 11110101 | õ | Latin small letter o with tilde | õ |
| 246 | F6 | 366 | 11110110 | ö | Latin small letter o with diaeresis | ö |
| 247 | F7 | 367 | 11110111 | ÷ | Division sign | ÷ |
| 248 | F8 | 370 | 11111000 | ø | Latin small letter o with stroke | ø |
| 249 | F9 | 371 | 11111001 | ù | Latin small letter u with grave | ù |
| 250 | FA | 372 | 11111010 | ú | Latin small letter u with acute | ú |
| 251 | FB | 373 | 11111011 | û | Latin small letter u with circumflex | û |
| 252 | FC | 374 | 11111100 | ü | Latin small letter u with diaeresis | ü |
| 253 | FD | 375 | 11111101 | ý | Latin small letter y with acute | ý |
| 254 | FE | 376 | 11111110 | þ | Latin small letter thorn | þ |
| 255 | FF | 377 | 11111111 | ÿ | Latin small letter y with diaeresis | ÿ |
How to use this ASCII chart
One character at a time in the converter, or the whole 256-row chart filtered down to what you need.
Look one character up
Type a character into the Character box and its decimal, hex, octal, binary, Unicode code point, HTML entity and UTF-8 bytes appear beside it. Go the other way by typing into the Code box: it accepts 65, 0x41, \x41, U+0041, 0o101, 0b01000001, A and A, and the prefix always beats the base selected next to it.
Narrow the chart
Use the four range buttons to show only the control codes, only the 95 printable characters or only the 128 extended ones, and type in the search box to filter by character, name, mnemonic, HTML entity or code in any of the four bases. Searching 1b finds ESC, searching euro finds 128, and searching ÷ finds 247.
Copy a row
Choose what a click should copy — the character, the decimal, hex or binary code, or the HTML entity — then click any row in the chart. The copy control disappears in browsers that block clipboard writes, and every value in the converter has its own Copy button as a fallback.
Technical specifications
| Code points listed | 256 — 0 to 127 from ANSI X3.4-1986 (US-ASCII) and 128 to 255 from ISO-8859-1 with the Windows-1252 substitutions that browsers actually apply |
|---|---|
| Columns per row | Decimal, hexadecimal, octal, 8-bit binary, the character, its Unicode name and its named HTML entity; control rows swap the character for a mnemonic, a C escape and a description |
| Control codes documented | 33 — 0 to 31 plus 127, each with abbreviation, escape sequence and one line on what the code did to a teletype |
| Named HTML entities | 155 of the 256 rows have one: 32 in the ASCII range including 	 and 
, and 123 above it. The other 101 have only the numeric forms &#N; and &#xN; |
| Converter input | A character, or a code written as 65, 0x41, \x41, U+0041, 0o101, 0b01000001, A or A — and any Unicode code point up to U+10FFFF, reported with its UTF-8 bytes |
| Search | Matches character, name, mnemonic, escape sequence, HTML entity and the code in all four bases; filtering all 256 rows takes about 2 ms |
| Rendering | The whole chart is static HTML — all 256 rows are present with JavaScript disabled, and the search, range and copy controls are the only scripted part |
| Processing location | Your browser — nothing typed into the converter or the search box is sent anywhere, and the page works offline once loaded |
Frequently asked questions
What is the difference between ASCII and UTF-8?
ASCII defines 128 characters numbered 0 to 127, while UTF-8 is an encoding that reproduces all 128 of them byte for byte and then keeps going to 1,114,112 code points. That compatibility was the design goal: a file containing only ASCII characters is already valid UTF-8, unchanged. The difference appears above 127, where ASCII simply stops and UTF-8 spends two to four bytes per character — é is a single byte 233 in Latin-1 but the two bytes 0xC3 0xA9 in UTF-8.
Why does DEL come after the letters?
Because DEL is 127, all seven bits set, and on paper tape that meant punching out every hole in a column. A hole cannot be un-punched, so the only code that could overwrite any other was the one with every bit on — whatever was there became 1111111. That is why delete sits alone at the end of the chart instead of alongside the other control codes at the start.
Is character 127 printable?
No — 127 is DEL, a control character, so ASCII has 95 printable characters (32 to 126) and 33 control codes (0 to 31 plus 127). Terminals treat DEL as an editing instruction rather than a glyph, which is also why the Backspace key on most keyboards actually transmits 127 and not 8, the code named Backspace.
Why does Ctrl+C interrupt a program?
Because a terminal turns Ctrl plus a letter into that letter's code with the top three bits cleared, and C is 67, so Ctrl+C transmits 3 — ETX, End of Text. The same arithmetic explains the rest of the muscle memory: Ctrl+D is 4 (EOT, so end of input), Ctrl+S is 19 (XOFF, pause the stream, which is why it appears to freeze a terminal), Ctrl+Q is 17 (XON, resume) and Ctrl+[ is 27 (ESC).
Which ASCII characters need an HTML entity?
Only five genuinely need escaping: & as &, < as <, > as >, the double quote as " inside a double-quoted attribute and the apostrophe as ' inside a single-quoted one. HTML5 defines named references for far more than that — this chart lists 155 of them, including ! for the exclamation mark and 	 for code 9 — but those are conveniences, not requirements. The numeric forms A and A work for every code point whether a name exists or not.
What are the codes from 128 to 255?
They are not ASCII at all, so their meaning depends entirely on the encoding in use. ISO-8859-1 (Latin-1) puts Western European letters and punctuation in 160 to 255 and reserves 128 to 159 for C1 control codes that print nothing; Windows-1252 fills those 32 slots with curly quotes, the en and em dash, the euro sign and the ellipsis instead. The HTML standard instructs browsers to decode any page labelled ISO-8859-1 as Windows-1252 precisely because the mislabelling is so common, so this chart shows the Windows-1252 characters.
Why do my files show é instead of é?
The bytes are correct UTF-8 being read as Latin-1 or Windows-1252. UTF-8 stores é as the two bytes 0xC3 0xA9; read one byte at a time under Latin-1, 0xC3 is à and 0xA9 is ©, so é appears on screen. Fix the declared encoding rather than the visible text, because re-saving the mangled version encodes the mistake a second time and makes the original much harder to recover.
About the ASCII character set
ASCII was published in 1963 and settled into its final shape in 1967, and its 7-bit width was a hardware decision: teletypes sent eight bits per character and the eighth was a parity bit, leaving 128 usable codes. What makes the standard worth reading rather than just looking up is how deliberately those 128 slots were arranged. The digits begin at 48 so that masking a byte with 0x0F turns the character into the number it represents. Capitals begin at 65 and lowercase at 97, exactly 32 apart, so c | 0x20 lowercases a letter and c & 0xDF uppercases it, without a lookup table. The control codes occupy the first 32 slots so that clearing the top three bits of a letter produces one, which is exactly what a terminal does when you hold Ctrl. Seeing those patterns is easier in binary than in decimal, and the decimal to binary converter is the quicker way to check one by hand.
Everything above 127 is where the trouble starts, because ASCII never defined it and a dozen incompatible standards filled the gap. ISO-8859-1 covers Western Europe from 160 up and leaves 128 to 159 as C1 control codes; Windows-1252 uses those 32 slots for typographic punctuation, which is why a Word document pasted into a Latin-1 system sprays question marks where the curly quotes were. The HTML standard resolved the argument by ruling that a page declaring charset=iso-8859-1 must be decoded as Windows-1252 anyway, so in a browser the two labels are the same thing. UTF-8 ended the era by encoding 0 to 127 identically to ASCII and using multi-byte sequences above it, which is why mislabelled text now produces é and ’ rather than silence. If you are writing any of these characters into markup, escaping them with HTML encoding sidesteps the encoding question entirely.
Plenty of the control codes are still load-bearing. LF and CR remain the whole reason text files differ between Unix and Windows. ESC begins every ANSI sequence a terminal uses to colour its output. NUL terminates a C string, which is why a filename containing one is a security bug rather than a curiosity. DC3 and DC1 survive as XON and XOFF, still bound to Ctrl+S and Ctrl+Q. And RS, the record separator at 30, was revived by RFC 7464 to delimit JSON documents in a stream — a use its designers would have recognised. What all of them share is that they cannot be typed and rarely survive a copy-paste, so when you need to move bytes 0 to 31 through a text-only channel intact, base64 is the usual answer.
What this page sends anywhere
Nothing. The chart is baked into the HTML at build time and the converter runs in your own tab, so the character you look up and the term you search for stay on your machine — there is no request behind either of them. Save the page and the whole 256-row reference works on a plane.