Free binary to text converter. Convert binary, hexadecimal, or decimal representations to readable text, or the reverse. Properly UTF-8 aware: handles emoji, multi-byte characters, and CJK scripts correctly (most online converters break on these because they treat UTF-16 code units as bytes).
Text is stored as numbers. Each character has a Unicode code point, and UTF-8 writes that code point as one to four bytes. This tool shows those bytes in three representations: binary (base 2), where the capital H is 01001000; hexadecimal (base 16), where the same byte is 48; and decimal (base 10), where it is 72. All three are just different ways of writing the identical underlying bytes, so any of them converts cleanly back to the original text.
You can go either direction. Paste text to see its binary, hex, or decimal form, or paste space-separated binary octets, hex pairs, or decimal values to reconstruct the text. Everything is computed locally in your browser, so nothing you enter is uploaded.
Plain ASCII fits in a single byte, so a naive converter looks correct for English. The trouble starts with anything above the basic Latin range: an accented letter, a CJK character, or an emoji is several bytes in UTF-8. Many online converters break here because they read JavaScript's internal UTF-16 code units as if they were bytes, which mangles multi-byte characters and splits emoji into meaningless halves.
This tool encodes to and decodes from genuine UTF-8 bytes, so é, a Chinese character, or an emoji round-trips to the exact original. A single emoji such as a face can legitimately expand to four bytes, which is expected rather than a bug.
Paste the binary into the tool, using one 8-bit group per byte separated by spaces. The tool reads each octet, reassembles the UTF-8 bytes, and decodes them to readable text in your browser.
An 8-bit binary group, or octet, represents one byte, a value from 0 to 255. The original ASCII characters occupy values 0 to 127, so a plain English letter maps to a single octet. Characters outside ASCII use additional bytes under UTF-8.
Emoji sit high in the Unicode range, and UTF-8 encodes those code points using up to four bytes. Seeing four bytes for a single emoji is correct. Converters that expect one byte per character are the ones that get it wrong.
Yes. Binary, hexadecimal, and decimal are just different bases for writing the same byte values, so this tool can convert text into any of them and back without loss.