Text to Hex and Hex to Text
This hex encoder and decoder converts between hexadecimal strings and readable text in
both directions — the same conversion people mean by "hex to ASCII" when the
result is plain text. Enter text on the left to encode it as hex, or use the swap button
and enter hex on the left to decode it back to text. Each character is encoded as UTF-8
bytes represented in hex, so "Hello" becomes 48 65 6c 6c 6f. The converter
accepts both upper and lowercase hex digits, and both space-separated pairs
(48 65 6c 6c 6f) and continuous hex strings (48656c6c6f).
Everything runs in your browser; nothing you type is ever sent to a server. For other
encoding formats, try the Binary Code
Translator or the Base64 Encode & Decode
tool.
Why do accented letters and emoji produce more than one hex pair?
Plain ASCII characters each fit in a single byte, but most text is encoded as UTF-8,
which uses more bytes for characters outside that basic set: an accented letter like
é needs 2 bytes (c3 a9), and most emoji need 4. A hex converter that
naively assumed one byte per character would mangle that text instead of round-tripping
it correctly. This tool encodes the true UTF-8 byte sequence rather than assuming every
character is a single byte, so accented text and emoji decode back exactly as they were
entered — verified by encoding and then decoding the same string and comparing the
result.
Common hex values reference
| Hex | Character | Notes |
|---|---|---|
48 65 6c 6c 6f | Hello | Basic ASCII text example |
00 | Null byte | String terminator in C and many BLOB fields |
0a | Line feed (newline) | Common in hex dumps of text files |
0d 0a | Carriage return + line feed | Windows line endings |
20 | Space | ASCII space character |
22 | " (double quote) | Often escaped in code contexts |
26 | & (ampersand) | Common in HTML entities |
3c | < (less-than) | HTML tag opener |
3e | > (greater-than) | HTML tag closer |
When would you need hex-to-text conversion?
Debugging network traffic — network analysis tools like Wireshark display packet payloads as hex dumps. Converting sections of a hex dump to text helps identify human-readable content inside a packet.
Reading database exports — some database tools export BLOB (binary large object) fields as hex strings. Decoding these reveals the underlying text content.
Debugging encoding issues — when text displays incorrectly, encoding the string to hex lets you inspect the exact byte sequence and identify whether characters are being encoded in ASCII, UTF-8, or another format.
Does this accept both uppercase and lowercase, and spaced or continuous hex?
Yes. Decoding works the same whether you paste space-separated pairs
(48 65 6c 6c 6f) or one continuous run
(48656C6C6F), and uppercase and lowercase hex digits are both accepted and
can even be mixed in the same string. Encoded output always uses lowercase pairs.
Last reviewed: August 2026