Text · Converter
Hex to text converter.
Paste hexadecimal bytes and read the text. 48 65 6C 6C 6F decodes to Hello. Spaces, commas, 0x and \x prefixes are all fine, and so is a solid run like 48656C6C6F.
Input
Result
Enter a value to convert it.
How to hex to text by hand
Hex writes each byte as two digits, 0-9 and A-F, so one byte is 00 to FF. To decode by hand, turn each pair into a number (48 is 4×16 + 8 = 72), then look up the character for that code (72 is H). Join the characters in order.
This page reads the bytes as strict UTF-8 text. Plain English letters, digits and punctuation are one byte each; characters like é or € take two or three bytes and must all be present. If the bytes are not valid UTF-8, or a value has an odd number of hex digits, you get an error instead of a guess.
Worked examples
| Hex | Text |
|---|---|
48 69 | Hi |
48 65 6C 6C 6F | Hello |
48 65 6C 6C 6F 20 57 6F 72 6C 64 | Hello World |
C3 A9 | é |
E2 82 AC | € |
Need several formats side by side? Use the binary converter, which shows text, binary, hex and decimal together, or look a character up in the ASCII table. For Base64 text, see the Base64 encoder and decoder.
Sources: RFC 4648 section 8, Base 16 encoding; RFC 3629, UTF-8, a transformation format of ISO 10646; WHATWG Encoding Standard, TextDecoder. Retrieved October 2026.
Hex to text FAQ
How do I convert hex to text?
Split the hex into pairs, convert each pair to a number, then look up the character for that number. 48 is 72, which is H; 69 is 105, which is i. Or paste it above and the converter does it for you.
Can I paste hex without spaces?
Yes. 48656C6C6F and 48 65 6C 6C 6F both decode to Hello. A solid run needs an even number of digits because every byte is two digits.
What is the difference between hex to text and hex to ASCII?
ASCII covers codes 0 to 127. This converter decodes the same bytes as UTF-8, which matches ASCII for 00 to 7F and also handles accents, symbols and emoji written as multi-byte sequences. If you need to enforce plain ASCII, use the ASCII to text converter.
Why does it say the bytes are not valid UTF-8?
A byte above 7F must be part of a complete multi-byte sequence. A lone byte such as E9, or a sequence that is cut short, is not legal UTF-8. Check for a missing or mistyped pair earlier in the string.
Is my data uploaded?
No. The decoding runs in your browser and nothing you paste is sent anywhere.