Text to Hex & Binary
Convert text to UTF-8 hex or binary and decode it back, accepting plain, spaced, \xNN, %NN, and 0xNN input.
Local workspace
Named projects in IndexedDB · Local only — never synced to our servers. Worksp…
Batch workspace
Format multiple files locally in one run.
Options
| Option | Description |
|---|---|
| Mode | Decoding accepts plain, spaced, \xNN, %NN, and 0xNN styles. |
| Format | Binary writes eight bits per byte. |
| Separator | Spaces make bytes easier to count; no separator matches formats like %PDF hex dumps. |
| Uppercase hex | Writes A-F instead of a-f. |
FAQ
Which encoding do the bytes use?
UTF-8, the encoding of the web and of almost every modern file format. A euro sign is three bytes (e2 82 ac) and an emoji is four, so the byte count is usually larger than the character count.
Which input styles can it decode?
Plain hex, hex separated by spaces, colons, or hyphens, and escape styles such as \xf0, %F0, and 0xF0. Mixed spacing is fine, so you can paste straight from a hex dump or a log.
Why do I get "not valid UTF-8"?
The bytes don't form complete characters, usually because a multi-byte sequence was cut off: f0 9f is the start of an emoji that needs all four bytes. Arbitrary binary, such as an image, also can't decode to text.
Why does another tool give different hex for the same text?
It's probably using UTF-16, where each character is two or four bytes and an ASCII letter has a zero byte beside it. This tool always uses UTF-8.
What is the binary format good for?
Seeing how UTF-8 marks multi-byte characters: a leading byte starts with 110, 1110, or 11110, and each continuation byte starts with 10. Decoding needs complete groups of eight bits.