How to convert ASCII codes to text
Each number is one character. Look it up in the ASCII table: 72 is H, 101 is e, 108 is l and 111 is o, so 72 101 108 108 111 spells Hello.
Codes 32 to 126 are printable characters. Codes below 32 are control characters such as tab (9) and line feed (10), which show up as whitespace rather than a visible symbol.
Example 1: 72 101 108 108 111 → Hello
Turn each code back into a character
Each number is looked up in the ASCII table (0 to 127). Larger numbers are treated as Unicode code points, which use the same numbering for the first 128 characters.
| Code | Hex | Character | Range |
|---|---|---|---|
| 72 | 48 | H | ASCII |
| 101 | 65 | e | ASCII |
| 108 | 6C | l | ASCII |
| 108 | 6C | l | ASCII |
| 111 | 6F | o | ASCII |
Text: Hello
Example 2: 84, 104, 97, 110, 107, 115, 33 → Thanks!
Turn each code back into a character
Each number is looked up in the ASCII table (0 to 127). Larger numbers are treated as Unicode code points, which use the same numbering for the first 128 characters.
| Code | Hex | Character | Range |
|---|---|---|---|
| 84 | 54 | T | ASCII |
| 104 | 68 | h | ASCII |
| 97 | 61 | a | ASCII |
| 110 | 6E | n | ASCII |
| 107 | 6B | k | ASCII |
| 115 | 73 | s | ASCII |
| 33 | 21 | ! | ASCII |
Text: Thanks!
Printable ASCII table
Codes 32 to 126 in decimal and hex. Codes 0 to 31 and 127 are control characters, such as tab (9), line feed (10) and carriage return (13).
Where this comes up
- Reading a byte array or char code list printed by a program or debugger.
- Decoding messages and puzzles written as numbers.
- Checking the output of String.fromCharCode, chr() or similar functions in coursework.
Frequently asked questions
My codes are in hex or binary. Can I use them?
This tool expects decimal codes. For binary bytes use the Binary to Text converter. For hex, convert each code with the Hex to Decimal converter first.
What happens with codes above 127?
They are read as Unicode code points, so 233 is é and 8364 is €. Unicode uses the same numbers as ASCII for 0 to 127, so ordinary ASCII codes are unaffected.
Why is 55296 rejected?
Code points 55296 to 57343 (D800 to DFFF in hex) are reserved for UTF-16 surrogate pairs and are not characters on their own. The highest valid code point is 1,114,111.
Is my data sent anywhere?
No. The conversion runs in your browser and nothing you paste is uploaded.