11 chars · 1 line
22 chars · 1 line
11 chars · 1 line
22 chars · 1 line
Hex encoding guide
Encode readable UTF-8 text into hexadecimal byte pairs or decode hexadecimal bytes back into UTF-8 text. The conversion runs locally in your browser and accepts either compact hex or byte pairs separated by whitespace. This tool is free to use. No account or payment is required.
Last updated
Hexadecimal uses the digits 0-9 and A-F to represent byte values. Each UTF-8 byte becomes exactly two hexadecimal digits, so ASCII text such as hello becomes 68656c6c6f.
Non-ASCII characters can use multiple UTF-8 bytes. Encoding and decoding therefore happens at the byte level rather than by simply replacing one character with one hex number.
Decode mode ignores whitespace so values such as 48 65 6c 6c 6f and 48656c6c6f produce the same text. Other separators are rejected instead of being silently discarded.
The input must contain an even number of hexadecimal digits because every byte needs two digits. Decoded bytes must also form valid UTF-8 text; arbitrary binary data is not rendered as replacement characters.
Like Base64, hexadecimal is reversible representation rather than encryption. It is useful for inspecting protocol bytes, hashes, identifiers, fixtures, and encoded text, but it does not provide confidentiality or authenticity.
The UTF-8 bytes for hello world are rendered as lowercase hexadecimal pairs.
hello world68656c6c6f20776f726c64Common questions
Yes. Decode mode ignores whitespace between hexadecimal digits, so compact and whitespace-separated byte strings are both supported.
Each byte is represented by two hexadecimal digits. An odd number of digits leaves the final byte incomplete and is rejected.
No. The decoder is text-focused and requires the decoded bytes to be valid UTF-8. Binary file bytes that are not UTF-8 produce an error.
No. Hexadecimal is a reversible byte representation and does not protect secrets or prove that data is authentic.
Looking for broader references? Browse all developer guides.