Binary to text decoder
The binary to text converter reads groups of 0s and 1s as bytes and decodes the bytes as UTF-8 text. Use it to decode binary messages, check homework, solve puzzles or inspect bit patterns from a program.
Accepted input
- Groups separated by spaces, line breaks or commas:
01001000 01101001. - One unbroken string whose length is a multiple of 8:
0100100001101001. It is split into bytes automatically. - Groups shorter than eight bits are allowed when separated, so
1001000is read as 72, just like01001000.
Any character other than 0, 1, whitespace and commas produces an error, as does a group whose value is larger than one byte (over 255).
Example
Input:
01001000 01101001 00100000 01110100 01101000 01100101 01110010 01100101 00100001Output:
Hi there!Each group of eight bits became one character here because the message is plain ASCII. Accented letters and emoji would take two to four groups each.
How to decode a byte by hand
Write the place values 128, 64, 32, 16, 8, 4, 2, 1 above the eight bits and add the values where there is a 1. For 01101000 that is 64 + 32 + 8 = 104, the code for “h”. The tool does this for every byte and then applies UTF-8 decoding, so multi-byte characters such as “é” (11000011 10101001) come out correctly.
Troubleshooting
- “Binary input without separators must be a multiple of 8 bits”. A digit is missing or extra somewhere. Add spaces between bytes to find it.
- Replacement characters (�). The bytes are not valid UTF-8, often because a bit was flipped or a byte is missing in a multi-byte character.
- 7-bit ASCII puzzles. Some puzzles use 7-bit groups without separators. Add spaces every 7 digits so the tool reads each group separately.
In Python the same decoding is bytes(int(g, 2) for g in s.split()).decode(), handy when you need it inside a script.
To convert text into binary, use Text to Binary. If the binary represents a number rather than text, the Binary to Decimal converter is what you need, and Binary to Base64 re-encodes the bytes in Base64. Everything runs in your browser.
Patterns that help you check the bits
ASCII was laid out so that the first bits of a byte tell you what kind of character it is. That makes it easy to spot a damaged or misaligned group before decoding:
| Starts with | Range | Characters |
|---|---|---|
010 | 01000001–01011010 | Uppercase A–Z |
011 | 01100001–01111010 | Lowercase a–z |
0011 | 00110000–00111001 | Digits 0–9 |
00100000 | exactly | Space |
Upper- and lowercase forms of a letter differ in a single bit: A is 01000001 and a is 01100001. If a message decodes into symbols instead of letters, one group probably has a missing or extra digit, which shifts every following byte.