ASCII Codes to Text
Convert a list of ASCII/Unicode codes back into readable text.
Was this tool helpful?
Thanks for the feedback!
This converter turns a list of decimal character codes back into readable text, so "72 101 108 108 111" becomes "Hello". It reads standard ASCII codes (0 to 127) and also larger Unicode values, which covers accented letters, the rupee sign and Indian scripts.
Input format
- Type or paste decimal numbers separated by spaces, commas or line breaks. Mixed separators like "72,101, 108 108" are fine.
- Each number becomes exactly one character, in the order given.
- If any entry is not a number, conversion stops with a message naming it, for example: "abc" is not a number.
- Decimal fractions are cut down to the whole number, so 65.7 is read as 65.
Worked example and the codes worth remembering
The input 67 111 100 101 32 52 50 decodes to Code 42. Seven numbers, seven characters: C, o, d, e, a space (32), then the digits 4 (52) and 2 (50). Note that the digit "4" is code 52, not 4; digits are characters with codes of their own.
| Codes | Characters |
|---|---|
| 32 | Space |
| 33 to 47 | Punctuation such as ! " # $ % & |
| 48 to 57 | Digits 0 to 9 |
| 65 to 90 | Capitals A to Z |
| 97 to 122 | Lowercase a to z |
A handy pattern: a lowercase letter's code is always its capital's code plus 32, so A is 65 and a is 97.
Codes above 127
Numbers beyond the ASCII range are read as Unicode code points, as long as they are no higher than 65,535. So 2309 8377 169 233 gives अ₹©é: the Devanagari letter A, the rupee sign, the copyright symbol and e with an acute accent.
Emoji are the exception. 😀 has the code point 128,512, and entering that number does not produce the emoji. Emoji are stored internally as a pair of codes called a surrogate pair, and entering the pair works: 55357 56832 gives 😀. The companion Text to ASCII Codes tool outputs emoji in exactly this two-number form, so text encoded there converts back here without loss.
Common reasons a decode looks wrong
- The codes are hexadecimal. "48 65 6C 6C 6F" is Hello in hex, not decimal, and letters such as 6C trigger an error. Convert hex to decimal first with the number base converter, or decode it directly with a hex to text tool.
- A value starts with 0x. It is read as 0, producing an invisible null character.
- The output looks blank. Codes 0 to 31 are control characters; 9 is a tab, 10 a line break and 13 a carriage return, all invisible.
- The numbers came from UTF-8 bytes. A byte list such as 226 130 185 represents ₹ in UTF-8, but decoded one code per character it shows three odd symbols instead. This tool expects one number per character.
Typical uses include programming exercises on character encoding, decoding values printed by a debugger or by JavaScript's charCodeAt, and solving puzzle or capture-the-flag clues that hide a message in numbers.