Hex to Text
Hex to Text removes all whitespace, requires zero or more complete hexadecimal byte pairs, converts each pair to a byte, and decodes the byte array as UTF-8. Uppercase and lowercase digits are accepted. Invalid UTF-8 is replaced rather than rejected, so successful parsing proves only valid hex syntax—not that the bytes formed well-encoded text.
Runs locally — files stay on your deviceCan hex input contain spaces or line breaks?
Yes. All whitespace is removed before pair validation.
Hex validity and text validity are separate
Even-length hexadecimal can always describe bytes, but those bytes may not form valid UTF-8 character sequences.
How it works
Whitespace is stripped, a regular expression enforces two hex digits per byte, pairs become numbers, and TextDecoder creates text.
Key concepts
Whitespace ignored
41 42 and 4142 both become AB.
Replacement decoding
Malformed UTF-8 can produce �.
When to use it
- Decode UTF-8 hex output.
- Read byte pairs copied with spacing.
- Inspect a known textual protocol value.
When not to use it
- Do not use it for arbitrary binary rendering.
- Do not expect invalid UTF-8 to fail.
- Do not paste 0x prefixes or punctuation.
Worked examples
ASCII
- Input
48 69- Expected output
Hi
Spaces are removed.
UTF-8
- Input
c483- Expected output
ă
Two bytes form one character.
Odd digit
- Input
abc- Expected output
Error
The final byte is incomplete.
Common mistakes
Including 0x
x is not accepted. Correction: Remove prefixes.
Assuming parser success means valid text
TextDecoder can substitute. Correction: Use strict UTF-8 validation when required.
Expecting code-point decoding
Pairs are bytes. Correction: Encode characters as UTF-8 first.
Best practices
- Keep byte pairs intact.
- Know the source charset.
- Inspect replacement characters before reuse.
Related operations and differences
Base64 Decoder
Choose Base64 Decoder when you need to decode Base64 into readable text.; use Hex to Text specifically for hex decode.
Binary to Text
Choose Binary to Text when you need to decode 8-bit binary groups into text.; use Hex to Text specifically for hex decode.
Text to Hex
Choose Text to Hex when you need to encode UTF-8 text as hexadecimal.; use Hex to Text specifically for hex decode.
Base64 Encoder
Choose Base64 Encoder when you need to encode text as Base64 in your browser.; use Hex to Text specifically for hex decode.
ROT13 Decoder
Choose ROT13 Decoder when you need to decode ROT13 text locally.; use Hex to Text specifically for hex decode.
Text to Binary
Choose Text to Binary when you need to encode text as 8-bit binary groups.; use Hex to Text specifically for hex decode.
Limitations and privacy
- UTF-8 interpretation only; no strict fatal mode, alternate charset, binary download, offset display, prefixes, or non-whitespace separators.
The entered value is transformed locally in this browser and is not sent to the Toolbox server.
Copying or pasting sensitive output into another service is a separate disclosure decision.
Frequently asked questions
Are uppercase digits accepted?
Yes.
Is empty input valid?
It parses as no bytes and returns an empty result.
Why is � displayed?
The bytes were malformed UTF-8.
Can commas separate bytes?
No.