Encoding desk

Hex to Text

Decode spaced or unspaced hexadecimal bytes as strict UTF-8 text.

Hex to Text: Decode hexadecimal byte pairs into text using strict UTF-8 validation. Hex to Text is useful for a copied text payload or a short byte excerpt when its encoding is known. It rejects malformed byte pairs and invalid UTF-8 instead of silently inserting replacement characters. Runs 100% locally in your browser with zero server file uploads.

Runs
In your browser
Cost
Free · no sign-up
Availability
Ready to use
Hex → Text / local workbenchLocal processing

Runs entirely in your browser

400,000 character input · 100,000 character output

Result

Ready

The decoder is fatal: malformed bytes and invalid UTF-8 are rejected instead of being replaced.

Pair assembly and a decoded example

For hex pair with digit values h and l, byte b = 16h + l. The assembled byte sequence is then decoded according to UTF-8. Enter 41 C3 A9: 4×16 + 1 = 65, 12×16 + 3 = 195, and 10×16 + 9 = 169. Byte 65 gives A and bytes 195,169 together give é, so the exact result is Aé. Three bytes become two Unicode scalars. Reading C3 and A9 independently as characters would produce the wrong text.

What strict decoding guarantees

The valid sequence rules come from RFC 3629 (https://www.rfc-editor.org/rfc/rfc3629); overlong encodings, surrogate encodings and incomplete sequences fail. Validity does not prove the decoded message is correct or that it is safe to execute. A null byte 00 is valid text data and remains a control character. Input is limited to 400,000 characters, including any whitespace and prefix, and the decoded result to 100,000 code points. Remove formatting before a large paste to conserve the input allowance. UTF-8 byte order is kept exactly as supplied.

How to use it

  1. Enter the value in the format shown below.
  2. Run the conversion and check the result against your source convention.
  3. Copy or download the output in the form required by your destination.

Privacy & limitations

Conversion runs in your browser. Your values and results are not uploaded.

Related tools

Frequently asked questions

Can I paste a complete annotated hex dump?

Keep only the byte pairs. ASCII spaces, tabs, CR and LF are ignored, and a single leading 0x is accepted. Offsets, an ASCII side column, commas and repeated 0x markers are not part of the accepted format. Lowercase and uppercase hex digits both work.

Why does E9 fail when I expected é?

The single byte E9 is not a complete UTF-8 sequence. For é, enter C3 A9. An error can mean the source used another encoding, that bytes are missing or that the payload is binary rather than text. The tool does not guess an encoding or decompress a file.

Will a UTF-8 byte-order mark appear in the decoded text?

A leading EF BB BF is consumed as a byte-order mark by this decoder. The same sequence later in the bytes becomes U+FEFF in the result. Plain UTF-8 does not need an endianness choice, and this tool does not decode UTF-16 merely because its bytes look like text.

Free tool · runs in your browser · no account required