Hex ↔ UTF-8 text conversion with flexible input. Free, private, runs in your browser.
100% private — your files never leave your browser. All processing happens locally on your device.
Hex is the representation of choice whenever binary data has to be readable — byte-level dumps in debuggers, cryptographic hashes (every SHA-256 you've seen is hex), MAC addresses (`aa:bb:cc:dd:ee:ff`), colour codes (`#ff0066`), and memory inspection in hex editors. Every byte gets two hex digits, which keeps output aligned and makes pattern-spotting easy. If you can see a file as hex, you can spot structure — magic numbers, length prefixes, embedded strings — with the naked eye.
Copy-pasted hex doesn't have one canonical shape. You might paste `414243`, `41 42 43`, `41:42:43`, `0x41 0x42 0x43`, or `ff00ab, cdef99`. The decoder accepts all of them — it strips whitespace, colons, commas, and 0x prefixes, uppercases the rest, and expects two hex characters per byte. If the length is odd or a non-hex character sneaks through, you get a plain-English error instead of silent corruption.
Text input is encoded as UTF-8 before being turned into hex — so `ABC` becomes `414243` and `☃` becomes `e29883`. Decoding reverses the process: hex bytes are treated as UTF-8 and decoded to a string. Multi-byte characters (emoji, accented Latin, CJK) round-trip correctly. If you paste hex that's not valid UTF-8 (e.g., a raw binary file dumped as hex), decoding shows replacement characters (`�`) rather than throwing — so you see that the payload isn't text, without losing the hex.
No separator (`414243`) is the densest and matches hex-editor conventions. Space separator (`41 42 43`) is easier for humans to scan. Colon separator (`41:42:43`) is the convention for MAC addresses and some crypto contexts. Upper-case output is common in low-level system logs. Mix and match — the tool gives you all four permutations so the hex you generate matches the convention of whatever consumer you're feeding.
All of them — spaced (`41 42`), unspaced (`4142`), colon-separated (`41:42`), and `0x`-prefixed (`0x41 0x42`). Case-insensitive. Strip as much or as little formatting as you want.
Input text is encoded as UTF-8 before being converted to hex bytes. Decoding goes the same direction — hex bytes are interpreted as UTF-8 and decoded to a string. Emoji, accented characters, and multi-byte glyphs round-trip correctly.
Spaced (`41 42 43`) is easier for humans to read and matches hex-editor conventions. Unspaced (`414243`) is a single continuous token — useful for URL-embedding, file naming, or passing to tools that don't tolerate spaces.
Yes. Unspaced output pastes directly into most hex editors. Colon-separated is the convention for MAC addresses and some crypto tools. Upper-case is the convention for many low-level system logs.