What this tool does
Convert text to hexadecimal and back, with a choice of separators that match downstream tools — plain, space, colon, dash, or 0x-prefixed (C-style array literals). UTF-8 in and out. Runs in your browser.
How to use it
Pick Encode or Decode, choose a separator for encode, and paste your input. Decode tolerates any common separator automatically.
Input: hello
Output: 68 65 6c 6c 6f (space separator)
Output: 0x68 0x65 0x6c 0x6c 0x6f (0x prefix)Limits and edge cases
- Input is encoded as UTF-8 before hex conversion, so non-ASCII characters round-trip (
你→e4 bd a0). - Decode rejects non-hex characters with a precise offset and rejects odd-length input (every byte needs two hex digits).
- For binary blobs that aren’t UTF-8 text (PNG bytes, etc.), decode will surface a “not valid UTF-8” error rather than render replacement characters.
Frequently asked questions
- Is anything sent to a server?
- No. Hex encoding and decoding both happen entirely in your browser.
- Why does decode work even when I mix separators?
- Decode strips spaces, colons, dashes, and the 0x prefix before parsing. Paste in whatever format your other tool emits — it'll work.
- Does it handle binary files?
- Drop a file into the input pane to hex-encode its bytes. For decoding hex back to a binary file, the output is shown as text — if you need raw bytes, use the Download button.
- Uppercase or lowercase output?
- Lowercase by default (matches most CLI tools and Wireshark). Toggle the uppercase checkbox if your downstream tool expects A–F.