Hex to Text Converter
Paste hex bytes (spaces, 0x or \x escapes are all fine) to read them as text, with each character’s UTF-8 bytes shown.
Spaces between bytes, or one long run. 0x and \x prefixes are fine.
As text
Hex ✓
7 bytes decode to 5 characters.
How to decode hex to text
Take the hex two digits at a time; each pair is one byte. Bytes from 00 to 7F are single ASCII characters. Bytes from C2 to F4 start multi-byte UTF-8 characters, and the bytes from 80 to BF that follow complete them.
For 48 65 6C 6C 6F: 48 = H, 65 = e, 6C = l, 6C = l, 6F = o, so the text is “Hello”. For C3 A9, C3 says “two-byte character” and A9 completes it: é.
Garbled text such as “é” instead of “é” usually means UTF-8 bytes were read as a one-byte encoding. Decoding the hex here as UTF-8 shows what was meant.
two hex digits → one byte → UTF-8 decode → characters
- UTF-8 never uses the bytes C0, C1 or F5 to FF; seeing one means the data is not UTF-8. Source: RFC 3629, UTF-8.
Multi-byte UTF-8 characters in hex
Accents, symbols, other scripts and emoji, with the bytes UTF-8 stores and their Unicode code points.
| Hex bytes | Character | Code point |
|---|---|---|
| C3 A9 | é | U+00E9 |
| C3 B1 | ñ | U+00F1 |
| C3 BC | ü | U+00FC |
| C2 A3 | £ | U+00A3 |
| C2 A9 | © | U+00A9 |
| C2 B0 | ° | U+00B0 |
| E2 82 AC | € | U+20AC |
| E2 80 94 | — | U+2014 |
| E2 80 9C | “ | U+201C |
| E2 80 99 | ’ | U+2019 |
Show all 17 rowsShow fewer
| E2 80 A6 | … | U+2026 |
| E2 84 A2 | ™ | U+2122 |
| E4 B8 AD | 中 | U+4E2D |
| E3 81 82 | あ | U+3042 |
| E2 9D A4 | ❤ | U+2764 |
| F0 9F 98 80 | 😀 | U+1F600 |
| F0 9F 91 8D | 👍 | U+1F44D |
Frequently Asked Questions
What does 48 65 6C 6C 6F mean?
It is “Hello” in ASCII: 48 = H, 65 = e, 6C = l, 6C = l, 6F = o.
Can I paste \x escapes or 0x bytes?
Yes. \x48\x69, 0x48 0x69, 48 69 and 4869 all decode to “Hi”. Commas, colons and line breaks between bytes are fine too.
Why do I see an error instead of text?
Either an odd number of hex digits (a byte is two digits), a character that is not 0–9 or A–F, or bytes that are not valid UTF-8, such as a multi-byte character cut short. The message says which.