Encode Unicode text as hexadecimal UTF-8 bytes or strictly decode hexadecimal bytes back to text.
LOCAL FILE CONVERSION
Encode Unicode text as hexadecimal UTF-8 bytes or strictly decode hexadecimal bytes back to text.
Drop one UTF-8 source file · Up to 200 KB · No uploadLOCAL INPUT
1 lines · 7 characters · 10 bytes
COMPUTED RESULT
0 output bytes ·
UTF-8 encoding, not UTF-16 character codes. Decoding permits whitespace between hex digits, requires complete byte pairs and rejects malformed UTF-8 without replacement characters. A leading UTF-8 BOM is preserved as a character. Case and byte grouping affect presentation only.
Processing uses your browser memory. Inputs are not included in page analytics. Text tools accept up to 200,000 UTF-8 bytes unless a tighter limit is stated. Worker operations time out after 45 seconds and can be cancelled. Clipboard and downloads require an explicit action.
Enter your values locally; no inputs are uploaded.
Check validation feedback before reviewing the browser-generated result.
Review the explanation, copy supported outputs or reset the workspace.
It encodes UTF-8 bytes. ASCII characters usually occupy one byte; accented characters and emoji can occupy several bytes. This is different from displaying UTF-16 code units.
UTF-8 encoding, not UTF-16 character codes. Decoding permits whitespace between hex digits, requires complete byte pairs and rejects malformed UTF-8 without replacement characters. A leading UTF-8 BOM is preserved as a character. Case and byte grouping affect presentation only.
Processing takes place locally in browser memory. Inputs are not sent to a processing service, persisted by this tool or included in analytics. Ordinary page requests may still be logged. Clipboard and downloads require explicit actions.
It encodes UTF-8 bytes. ASCII characters usually occupy one byte; accented characters and emoji can occupy several bytes. This is different from displaying UTF-16 code units.
Whitespace separators are ignored. Other punctuation and prefixes such as 0x are rejected. After removing whitespace there must be an even number of hexadecimal digits.
A byte sequence can be valid hex but invalid UTF-8. Strict decoding rejects overlong, truncated, surrogate and otherwise invalid sequences instead of inserting replacement characters.
Yes. A leading UTF-8 BOM decodes to the U+FEFF character and is preserved on re-encoding. The tool does not silently strip it.
No. Hex case and optional groups of 1, 2, 4, 8 or 16 bytes change presentation only. Whitespace-tolerant decoding reconstructs the same byte sequence.
Yes. Empty text produces empty hex, and valid multilingual Unicode round-trips through UTF-8. Lone UTF-16 surrogates are rejected because they are not valid Unicode scalar values.