Text to Binary Converter
Note: Binary is a representation for reading, not a transport format — it is eight times longer than the bytes themselves and four times longer than hexadecimal for the same information. If you need to move data through a text-only channel, Base64 is the tool for that.
In ASCII each character is one byte and the mapping is a simple table. UTF-8 is variable width: the basic Latin characters are still one byte and identical to ASCII, which is why the two look interchangeable until they suddenly are not. Accented letters take two bytes, most CJK characters take three, and emoji take four. So a five-character string can be five bytes or twenty, and a binary string split at the wrong boundary corrupts everything downstream of the split rather than losing one character.
The per-character breakdown is the part worth looking at. It shows each character, its code point, and the actual bytes it produced, which makes the variable-width behaviour visible rather than theoretical — and immediately explains why a string with an emoji in it is so much longer than it looks.
A note on what this is for. Binary is a representation for reading, not a format for storing or transmitting: it is eight times longer than the raw bytes and four times longer than hexadecimal for exactly the same information. If you are looking at binary because you need to move data through a text-only channel, Base64 is the tool that job actually wants.
Frequently Asked Questions
Why does one emoji produce 32 binary digits?
Because it is four bytes in UTF-8, and each byte is eight digits. Many emoji are longer still — a flag or a skin-tone variant is several code points combined, so it can run to eight or twelve bytes despite appearing as one character.
Should I use 7-bit or 8-bit groups?
8, in essentially every modern context — that is a byte. 7-bit groups belong to older telecom and serial protocols where the eighth bit carried parity rather than data, and they cannot represent any byte above 127 at all.
Is binary a good way to obfuscate text?
No. It is a completely standard, trivially reversible representation, and anyone who recognises a run of ones and zeros can decode it in seconds. If the goal is that others cannot read something, you need encryption, not a change of base.
Why is my decoded text full of replacement characters?
The bytes are not valid UTF-8. Usually the source was ASCII or Latin-1 and is being read as UTF-8, or the string lost digits in transit so the byte boundaries have shifted. The diamond characters mark exactly where the decoder gave up.

