Hex to UTF-8 Converter — Decode Hex Bytes to Readable Text
Convert a stream of hex bytes back to UTF-8 text. Tolerates separators and prefixes. Free, in-browser, no signup.
About Hex to UTF-8 Converter
A hex-to-UTF-8 converter reads a sequence of hex byte values and decodes them as UTF-8 text — the inverse of UTF-8 to hex — useful when copying byte values out of a hex editor, packet capture, log line, or stack trace and you need to see the original string. The ZTools Hex-to-UTF-8 tool is forgiving about input formatting (spaces, commas, 0x prefixes, newlines all tolerated), supports lenient mode that substitutes U+FFFD for invalid sequences and reports their location, and is the canonical "what does this hex actually say" debugging tool.
Use cases
- Reading hex from logs. Logs sometimes dump a hex blob ("48 65 6c 6c 6f"). Decode to "Hello" to confirm what the system actually saw.
- Hex editor inspection. Open a binary file in a hex editor; copy a string-looking region; decode to text to confirm content.
- Network packet analysis. Wireshark shows payload bytes. Decode to see if it is a JSON / SOAP envelope / readable text.
- Round-trip verification. Encoded text → hex → text round-trip should be lossless. Mismatch reveals encoding bugs.
How it works
- Paste hex. Any of: space-separated, no separator, 0x-prefixed, comma-separated, newline-separated. Input is stripped of whitespace and prefixes.
- Validate. Hex string must have even length. Odd lengths trigger an error with the offending position.
- Decode UTF-8. Bytes interpret as UTF-8 sequences. Lenient mode substitutes U+FFFD for invalid sequences; strict mode errors.
- Inspect. Decoded text shown alongside any flagged error positions. Codepoint view available.
- Copy. Decoded text to clipboard.
Examples
Input: 48 65 6c 6c 6f
Output: Hello
Input: e2 82 ac
Output: €
Input: f0 9f 9a 80
Output: 🚀
Frequently asked questions
My hex decodes to garbage
Likely the encoding is not UTF-8. Try Latin-1 / Windows-1252 / UTF-16 in the encoding selector. Old Windows logs are often cp1252.
What does "U+FFFD" mean in the output?
The Unicode replacement character — the lenient decoder inserts it where the byte sequence is invalid UTF-8. Click the marker for the offending byte position.
Can I decode hex that is mixed case?
Yes — uppercase, lowercase, mixed all accepted.
What if my input has 0x prefixes?
Stripped automatically. `0x48 0x65 0x6c` decodes correctly.
Why does the decoded length differ from the byte count?
UTF-8 encodes some characters as multiple bytes. 6 hex bytes might be 2 emoji (3 bytes each) or 6 ASCII characters.
Is this useful for binary data?
Only when the binary contains UTF-8 text. Pure binary (images, executables) decodes to garbage; use a hex viewer for non-text data.
Pro tips
- Try multiple encodings if UTF-8 decode looks garbled — Latin-1 / Windows-1252 / UTF-16 are the common alternatives.
- For round-trip checks, encode then decode and confirm the original is recovered exactly.
- When a single weird byte appears mid-text, the U+FFFD marker shows exactly where — invaluable for locating corruption.
- The codepoint view turns "what byte is that" into "what character is that" instantly.
- Pair with the UTF-8 to hex tool for full byte-level workflows.
Reviewed by Ahsan Mahmood · Last updated 2026-05-05 · Part of ZTools.
For the full,
formatted version of this page, please enable JavaScript and reload
https://ztools.zaions.com/hex-to-utf8.