Binary to String

Feed in ones and zeros and read the words hiding in them, with the grouping worked out for you.

Binary digits
Text
Runs locally in your browser

About the Binary to String

Binary arrives in more shapes than people expect. It can be neatly spaced in bytes, run together as one long stream, or separated by commas, dashes or pipes because of whatever produced it. All of those are accepted. When the digits are already grouped, those groups are used as they are. When they are one solid run, the length decides: a multiple of eight is split into bytes, and a multiple of seven that is not a multiple of eight is split into classic seven bit ASCII.

Grouped bytes are assembled and then decoded as UTF-8, which is what makes accented letters and emoji come out whole rather than as a pair of question marks. Switch the encoding to whole code points when each group is a full character rather than a byte, which is what a sixteen bit dump from an older system usually contains.

Anything that is not a one, a zero or a separator stops the conversion and the offending character is named, so a stray letter pasted in from a hex dump does not quietly turn into rubbish. A stream whose length does not divide evenly is reported with the exact count, which almost always means a digit was lost in copying. Going the other way is String to Binary, and Binary to Text covers the same ground with a simpler set of controls.

How to use

  1. Paste the binary digits, spaced or unspaced.
  2. Leave Group size on automatic unless the stream uses an unusual width.
  3. Switch to Whole code points if each group is a character rather than a byte.
  4. Copy the decoded text.

Common questions

Do I have to put spaces between the bytes?
No. An unspaced stream is split by length, so 16 digits become two bytes automatically.
Why does my text show odd symbols?
The groups were probably not UTF-8 bytes. Try the whole code point setting, or check the group size.
Are 0b prefixes handled?
Yes, every 0b prefix is stripped before the digits are read.
What if the digit count does not divide evenly?
You get an error naming the total count, which usually means one digit was dropped during the copy.