Text ↔ binary

Convert text to 8-bit binary and back.

Korean characters and emoji are converted 8 bits per UTF-8 byte.

You are reading a protocol spec, a CTF puzzle, or a hardware log and it hands you a wall of ones and zeros. Or the reverse: you need to show a student exactly what the letter A looks like to a computer. This converter goes both directions — text into 8-bit binary, and binary back into text — without installing anything.

How it works

Text → Binary

The text is first encoded as UTF-8, then each resulting byte is printed as eight binary digits with leading zeros, separated by a single space. Hi becomes 01001000 01101001.

Why non-English text produces more groups

One visible character is not always one byte. ASCII letters, digits and common punctuation take one byte each; accented Latin letters usually take two; most Chinese, Japanese and Korean characters take three; and emoji commonly take four. So a single emoji shows up as four 8-bit groups, not one.

InputBytes8-bit groups
A11
é22
33
😀44

Binary → Text

The input is split on any whitespace, and every group must contain only 0 and 1 (up to eight digits). If a group contains anything else, the conversion stops and the message names the group that failed. The bytes are then decoded as UTF-8, which means multi-byte characters only come back correctly if all of their bytes are present, in the original order.

One thing to watch: a run of digits with no separators — 0100100001101001 — is read as a single group and will not decode as two characters. Keep the spaces.

Terms explained

8-bit binary
One byte written as eight 0/1 digits, covering the values 00000000 (0) through 11111111 (255).
UTF-8
The encoding that turns characters into bytes. ASCII stays at one byte; other scripts use two to four bytes per character.
Leading zero padding
Short values are padded to a full eight digits, so the byte 10 is written as 00001010 rather than 1010.
Byte separator
The single space between groups. It tells the decoder where one byte ends and the next begins.
Code point vs byte
A code point is one character; a byte is one storage unit. Outside ASCII, one code point spans several bytes.

Frequently asked questions

Why does one Korean or Chinese character turn into three groups?

Those characters are stored as three bytes in UTF-8, and the tool prints one 8-bit group per byte. Emoji usually take four bytes, so they produce four groups. This is expected, not an error.

Can I decode binary that has no spaces between the bytes?

Not directly. The decoder splits on whitespace, so an unbroken string is treated as one oversized group and rejected. Insert a space every eight digits first, then convert.

What does "Invalid binary format" mean?

At least one group contains a character other than 0 or 1, or is longer than eight digits. The message shows the group that failed so you can find the stray character or missing space.

Is my text uploaded anywhere?

No. Both directions run entirely in your browser using its built-in text encoder, so nothing you paste is sent to a server.

Why did my decoded text come out as garbled symbols?

Usually a byte is missing, out of order, or the original data was not UTF-8. Multi-byte characters need their full byte sequence intact to decode correctly.