Hex Decoder Guide: Turning Log Bytes Back into Text
Decoding usually fails for one of two reasons: the bytes were never UTF-8 text, or you copied offsets and line numbers along with the data.
Where the hex came from
A server logs a request body as hex, a capture tool exports a field, a database stores an escaped string, a colleague sends e4 b8 ad and asks what it says. The job is simple: read two hex digits as one byte, then reassemble the bytes as UTF-8.
It also helps with garbled pages. Convert the broken text to hex and back to confirm whether the damage happened in storage, in transit, or at render time. The bytes do not change, only the presentation, which makes it a clean comparison.
- Restoring request bodies and response fields from logs
- Finding which stage introduced mojibake
- Reading escaped strings in config files
- Checking whether a byte sequence is valid UTF-8
Check the format before pasting
Each byte needs two digits. e4 b8 ad works; e4b8ad does not, because it is read as one huge number and truncated to a completely different byte. Spaces or commas both separate fine, case does not matter, and a 0x prefix is tolerated.
If the result is full of replacement characters, the bytes are not valid UTF-8. Common causes are GBK or Big5 source data, binary content, or a multi-byte character cut in half. Stop retrying and check the source encoding instead.
- Two digits per byte, separated by spaces or commas
- Leave out offsets, line numbers, and ASCII columns
- Replacement characters mean it is not UTF-8, or truncated
It restores bytes, it does not interpret them
Decoding maps bytes to characters. It does not validate content, check length, or verify a checksum. A truncated log line can decode to something that looks fine at the start and turns to noise at the end, which is easy to misread as an encoding bug.
Do not force non-text data through it. Images, archives, and ciphertext belong in Base64 or a binary viewer. And remember that hex is not encryption: anyone can reverse it, so it provides no protection for sensitive fields.
- No checksums and no judgement about content
- Non-text data belongs in Base64 or a binary viewer
- Hex is not encryption; obfuscation is publication
FAQ
The output is full of question marks and boxes
Check the source encoding first. This tool decodes as UTF-8, so GBK or Big5 Chinese will always look broken, and binary data should not be decoded as text at all. Convert with iconv, then try again.
Do I need to add spaces or 0x?
No. The tool splits on whitespace and commas, ignores a 0x prefix, and accepts either case. What matters is keeping two digits per byte and not pasting offsets from a log line as if they were data.
Can hex be used as encryption?
No. There is no key and it reverses in one step. Wrapping a password or token in hex only costs an attacker a few seconds. Use encryption and take care of the key itself.
Related tool:Hex Decoder