Hex to text and back
Convert text to hexadecimal and hex back to text, byte for byte in UTF-8.
Related tools
Hex to text and back
Hexadecimal is how bytes are written when humans need to read them: two digits per byte, 00 through ff. Paste text to see the exact UTF-8 bytes behind it, or paste a hex dump from a log, a packet capture or a debugger and read the message back out. The mode selector switches direction, and the result updates as you type.
The separator option decides the shape of the output. Space-separated pairs are the classic dump format and the easiest to scan by eye. Unseparated hex is what checksums, colour values and database blob columns look like. The 0x prefix suits C, Go and Rust byte literals; the \x prefix matches Python bytes objects and shell escapes. Uppercase digits are there for the many formats that expect A-F rather than a-f.
Reading hex back is deliberately tolerant, because real hex arrives messy. Spaces, tabs and line breaks are ignored, 0x and \x prefixes are stripped wherever they appear, and upper and lower case mix freely — so a copy-paste out of a stack trace usually just works. Two things are reported instead of guessed at: an odd number of digits, which means a digit went missing, and characters outside 0-9 a-f. Bytes that are not valid UTF-8 decode to the replacement character, so you can still see where a sequence broke.
Everything runs in your browser using its built-in UTF-8 encoder. Nothing is uploaded, which matters when the hex you are inspecting came from a payload, a token or a private file. The tally under the output shows characters against bytes, so multi-byte characters are easy to spot: an emoji costs four bytes, an accented letter two.