Convert binary numbers back into readable text. Works with spaced groups or one unbroken run of bits, and explains clearly when the bit count is not a multiple of eight.
Show calculation steps
Processed privately in your browser — nothing you paste is uploaded, logged or stored.
From bits back to characters
Decoding reverses two steps. The binary digits are grouped into bytes, then those bytes are interpreted through a character encoding to produce characters. The grouping is the fragile part: eight digits per byte, and a stream whose length is not a multiple of eight is either truncated or was never byte-aligned.
Worked example
01001000 01101001 → 72 105 → "Hi"
11000011 10101001 → 195 169 → "é" as UTF-8
→ "é" if read as Latin-1Why the same bits give two answers
The second line above is the single most common decoding complaint. The bits are not ambiguous; the encoding assumed when turning them into characters is. Seeing é where you expected é is the signature of UTF-8 bytes being read as Latin-1, and it is a mismatch upstream rather than a fault in the data.
Whitespace and separators
Spaces between groups are ignored, so binary copied from a textbook, a hex editor or a forum post all decode the same way. Anything that is not a 0 or a 1 is reported rather than silently skipped, because a stray character usually means the paste lost something.
Limits
Bytes that form no valid UTF-8 sequence are shown as their numeric values instead of being replaced with question marks, so you can see what actually arrived. Everything is decoded in your browser.
How to use the Binary to Text
- Paste the binary. Spaced groups, comma-separated values and one unbroken run of bits are all accepted.
- Set whether the numbers represent UTF-8 bytes or Unicode code points.
- Click "Convert to text".
Frequently asked questions
My bits are all run together with no spaces. Will that work?
Yes, provided the total is a multiple of eight, in which case the run is split into bytes automatically. If it is not a multiple of eight, the tool says so rather than guessing, because a wrong split would produce plausible-looking nonsense.
Why do I get an error about a value above 255?
In byte mode each group must fit in one byte. A larger number means the data is really code points, not bytes – switch the unit option and it will decode correctly.
The output looks like scrambled accented letters. What happened?
That is mojibake: the bytes were decoded as UTF-8 but were originally written in a different character set, or a multi-byte sequence was split. The Character Encoding Detector can analyse the bytes and tell you what is decidable about them.