Hex stream ⇄ readable text

🔡 Hex ⇄ Text

Paste a hex stream and read it back as text: the tool sniffs the encoding (UTF-16, UTF-8, Latin-1) from the BOM, and shows every character next to the bytes it came from, plus the reverse direction.

Paste with or without spaces and 0x / \u / U+ prefixes, the parser strips them all. Auto mode reads a BOM first (FEFF / FFFE / EFBBBF), then looks at where the 00 bytes fall: 00 in the first slot of each pair means UTF-16 BE, in the second means UTF-16 LE. If neither pattern fits, the bytes are tested against the UTF-8 rules and fall back to Latin-1. A UTF-16 stream read with the wrong endianness shows up as lone surrogates or CJK gibberish — flip BE/LE and it snaps back.