A binary to text translator splits a string of 0s and 1s into 8-bit bytes and reads each byte as a character. 01001000 is 72, which is the letter H.
Example
01001000 01101001 00100001Hi!Spaces are optional. 010010000110100100100001 decodes to the same thing, as long as the total number of bits is a multiple of 8.
How binary text works
Computers store text as numbers, and each number is a byte of 8 bits. Reading a byte means adding up the place values of its 1 bits:
| Bit position | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|
01001000 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
64 + 8 = 72, and 72 in ASCII is H. Uppercase letters run from 01000001 (A, 65) to 01011010 (Z, 90). Lowercase letters are the same with the third bit set, so a is 01100001 (97). Characters outside ASCII take 2 to 4 bytes in UTF-8, and this tool decodes those too.
Binary "secret messages" are common in puzzles, escape rooms, CTF challenges and geek T-shirts. They're almost always plain ASCII.
How to use the binary translator
- Paste the binary. Any separator works: spaces, commas, new lines or nothing.
- Read the text in the output panel.
- If you see "Bit count is not a multiple of 8", a digit is missing or extra. Each character needs exactly 8 bits. Some puzzles use 7-bit ASCII, which needs a leading
0added to each group.
Convert binary to text in code
bits = "01001000 01101001 00100001"
print(bytes(int(b, 2) for b in bits.split()).decode()) # Hi!const bits = "01001000 01101001 00100001";
console.log(String.fromCharCode(...bits.split(" ").map((b) => parseInt(b, 2)))); // Hi!Binary at a glance
| Bits per character | 8 (one byte) for ASCII, 8 to 32 for UTF-8 |
A–Z | 01000001 to 01011010 |
a–z | 01100001 to 01111010 |
| Space | 00100000 |
Frequently asked questions
What does 01001000 01101001 mean?
Hi. 01001000 is 72 (H) and 01101001 is 105 (i).
Why is my binary not decoding?
The total bit count must be a multiple of 8. If the groups are 7 bits long, the message is 7-bit ASCII: add a 0 to the front of each group. If they're 5 bits long and use only A and B (or 0 and 1), it may be a Baconian cipher.
How do I convert text to binary?
Look up each character's code and write it in base 2, padded to 8 digits. In Python: " ".join(f"{b:08b}" for b in "Hi".encode()).
Last reviewed · found a mistake? contact@decoder.tools · view as markdown