Readable Text
ASCII assigns codes to English letters, digits, punctuation, and space. Case matters: uppercase A and lowercase a have different codes.
Character Encoding
Explore the 7-bit ASCII standard, search individual codes, and turn text into hexadecimal byte values. Learn where ASCII stops and how it differs from Unicode and UTF-8.
A stored number does not identify its meaning by itself. An encoding supplies a shared mapping between characters and numeric codes. Reading a text file or a packet therefore involves both the bytes and the rules used to interpret them.
ASCII assigns codes to English letters, digits, punctuation, and space. Case matters: uppercase A and lowercase a have different codes.
Codes such as tab, line feed, and carriage return affect text structure. They are not visible letters, but they still occupy positions in the data.
The numeric value seven, represented as an unsigned byte, differs from the ASCII character used to write the digit "7". The table assigns that character decimal code 55. Its hexadecimal value is 37 because 3 × 16 + 7 = 55.
710 = 0716 = 0000 01112
5510 = 3716 = 0011 01112
ASCII has seven-bit codes. When stored in eight-bit bytes, their leading bit is zero. The text 42 contains two characters, with ASCII bytes 34 32; it is not the single numeric byte 2A.
Enter ASCII text to see one two-digit hexadecimal byte per character. Spaces and newlines also have codes. Non-ASCII characters must be removed before conversion or copying.
Enter ASCII text to begin. Empty input has no bytes.
Control
0–31, 127
Non-printable codes, including DEL at 127, for control and text flow.
Printable
32-126
Letters, digits, punctuation, and space. Space is printable even though it has no visible mark.
Standard
7-bit
128 total codes forming the original common text encoding baseline.
ASCII cannot represent £ or emoji. Unicode assigns code points to a much wider set of characters; UTF-8 is a way to encode those code points as bytes. A code point written in hexadecimal is not necessarily the byte sequence stored in a UTF-8 file.
For example, £ has code point U+00A3 and UTF-8 bytes C2 A3. The grinning-face emoji has code point U+1F600 and UTF-8 bytes F0 9F 98 80. Neither has an ASCII code. ASCII characters retain their single-byte values in UTF-8.
This converter deliberately stays within ASCII. For the byte-encoding rules, see RFC 3629: UTF-8 definition.
Search by decimal code, hex value, character, or description.
| Dec | Hex | Char | Description | Type |
|---|---|---|---|---|
| 0 | 00 | NUL | Null | control |
| 1 | 01 | SOH | Start of Heading | control |
| 2 | 02 | STX | Start of Text | control |
| 3 | 03 | ETX | End of Text | control |
| 4 | 04 | EOT | End of Transmission | control |
| 5 | 05 | ENQ | Enquiry | control |
| 6 | 06 | ACK | Acknowledge | control |
| 7 | 07 | BEL | Bell | control |
| 8 | 08 | BS | Backspace | control |
| 9 | 09 | HT | Horizontal Tab | control |
| 10 | 0A | LF | Line Feed | control |
| 11 | 0B | VT | Vertical Tab | control |
| 12 | 0C | FF | Form Feed | control |
| 13 | 0D | CR | Carriage Return | control |
| 14 | 0E | SO | Shift Out | control |
| 15 | 0F | SI | Shift In | control |
| 16 | 10 | DLE | Data Link Escape | control |
| 17 | 11 | DC1 | Device Control 1 | control |
| 18 | 12 | DC2 | Device Control 2 | control |
| 19 | 13 | DC3 | Device Control 3 | control |
| 20 | 14 | DC4 | Device Control 4 | control |
| 21 | 15 | NAK | Negative Acknowledge | control |
| 22 | 16 | SYN | Synchronous Idle | control |
| 23 | 17 | ETB | End of Transmission Block | control |
| 24 | 18 | CAN | Cancel | control |
| 25 | 19 | EM | End of Medium | control |
| 26 | 1A | SUB | Substitute | control |
| 27 | 1B | ESC | Escape | control |
| 28 | 1C | FS | File Separator | control |
| 29 | 1D | GS | Group Separator | control |
| 30 | 1E | RS | Record Separator | control |
| 31 | 1F | US | Unit Separator | control |
| 32 | 20 | SP | Space | printable |
| 33 | 21 | ! | Exclamation mark | printable |
| 34 | 22 | " | Quotation mark | printable |
| 35 | 23 | # | Number sign | printable |
| 36 | 24 | $ | Dollar sign | printable |
| 37 | 25 | % | Percent sign | printable |
| 38 | 26 | & | Ampersand | printable |
| 39 | 27 | ' | Apostrophe | printable |
| 40 | 28 | ( | Left parenthesis | printable |
| 41 | 29 | ) | Right parenthesis | printable |
| 42 | 2A | * | Asterisk | printable |
| 43 | 2B | + | Plus sign | printable |
| 44 | 2C | , | Comma | printable |
| 45 | 2D | - | Hyphen | printable |
| 46 | 2E | . | Period | printable |
| 47 | 2F | / | Forward slash | printable |
| 48 | 30 | 0 | Digit 0 | printable |
| 49 | 31 | 1 | Digit 1 | printable |
| 50 | 32 | 2 | Digit 2 | printable |
| 51 | 33 | 3 | Digit 3 | printable |
| 52 | 34 | 4 | Digit 4 | printable |
| 53 | 35 | 5 | Digit 5 | printable |
| 54 | 36 | 6 | Digit 6 | printable |
| 55 | 37 | 7 | Digit 7 | printable |
| 56 | 38 | 8 | Digit 8 | printable |
| 57 | 39 | 9 | Digit 9 | printable |
| 58 | 3A | : | Colon | printable |
| 59 | 3B | ; | Semicolon | printable |
| 60 | 3C | < | Less than | printable |
| 61 | 3D | = | Equals sign | printable |
| 62 | 3E | > | Greater than | printable |
| 63 | 3F | ? | Question mark | printable |
| 64 | 40 | @ | At sign | printable |
| 65 | 41 | A | Uppercase A | printable |
| 66 | 42 | B | Uppercase B | printable |
| 67 | 43 | C | Uppercase C | printable |
| 68 | 44 | D | Uppercase D | printable |
| 69 | 45 | E | Uppercase E | printable |
| 70 | 46 | F | Uppercase F | printable |
| 71 | 47 | G | Uppercase G | printable |
| 72 | 48 | H | Uppercase H | printable |
| 73 | 49 | I | Uppercase I | printable |
| 74 | 4A | J | Uppercase J | printable |
| 75 | 4B | K | Uppercase K | printable |
| 76 | 4C | L | Uppercase L | printable |
| 77 | 4D | M | Uppercase M | printable |
| 78 | 4E | N | Uppercase N | printable |
| 79 | 4F | O | Uppercase O | printable |
| 80 | 50 | P | Uppercase P | printable |
| 81 | 51 | Q | Uppercase Q | printable |
| 82 | 52 | R | Uppercase R | printable |
| 83 | 53 | S | Uppercase S | printable |
| 84 | 54 | T | Uppercase T | printable |
| 85 | 55 | U | Uppercase U | printable |
| 86 | 56 | V | Uppercase V | printable |
| 87 | 57 | W | Uppercase W | printable |
| 88 | 58 | X | Uppercase X | printable |
| 89 | 59 | Y | Uppercase Y | printable |
| 90 | 5A | Z | Uppercase Z | printable |
| 91 | 5B | [ | Left bracket | printable |
| 92 | 5C | \ | Backslash | printable |
| 93 | 5D | ] | Right bracket | printable |
| 94 | 5E | ^ | Caret | printable |
| 95 | 5F | _ | Underscore | printable |
| 96 | 60 | ` | Grave accent | printable |
| 97 | 61 | a | Lowercase a | printable |
| 98 | 62 | b | Lowercase b | printable |
| 99 | 63 | c | Lowercase c | printable |
| 100 | 64 | d | Lowercase d | printable |
| 101 | 65 | e | Lowercase e | printable |
| 102 | 66 | f | Lowercase f | printable |
| 103 | 67 | g | Lowercase g | printable |
| 104 | 68 | h | Lowercase h | printable |
| 105 | 69 | i | Lowercase i | printable |
| 106 | 6A | j | Lowercase j | printable |
| 107 | 6B | k | Lowercase k | printable |
| 108 | 6C | l | Lowercase l | printable |
| 109 | 6D | m | Lowercase m | printable |
| 110 | 6E | n | Lowercase n | printable |
| 111 | 6F | o | Lowercase o | printable |
| 112 | 70 | p | Lowercase p | printable |
| 113 | 71 | q | Lowercase q | printable |
| 114 | 72 | r | Lowercase r | printable |
| 115 | 73 | s | Lowercase s | printable |
| 116 | 74 | t | Lowercase t | printable |
| 117 | 75 | u | Lowercase u | printable |
| 118 | 76 | v | Lowercase v | printable |
| 119 | 77 | w | Lowercase w | printable |
| 120 | 78 | x | Lowercase x | printable |
| 121 | 79 | y | Lowercase y | printable |
| 122 | 7A | z | Lowercase z | printable |
| 123 | 7B | { | Left brace | printable |
| 124 | 7C | | | Vertical bar | printable |
| 125 | 7D | } | Right brace | printable |
| 126 | 7E | ~ | Tilde | printable |
| 127 | 7F | DEL | Delete | control |
Predict the hex bytes for A7, then test them above. Add a space between the characters and explain the new byte. Finally try £ and explain why an ASCII converter reports an error instead of inventing an ASCII code.
A7 becomes 41 37. With a space, A 7 becomes 41 20 37. The £ character is outside ASCII's range and needs another encoding, such as UTF-8.
Use Build the Byte to represent decimal 65. Check that its hex byte is 41, then find that code in the ASCII table. The same bits can represent a number or a character depending on how the data is interpreted.
Try these without the converter or reference table. Check each answer to reveal its explanation.