decoder.tools

Binary to Text Decoder

Translate binary (8-bit groups of 0s and 1s) into ASCII or UTF-8 text.

INPUT
OUTPUT

The result appears here as you type.

Decoding runs in your browser. What you paste is not sent to a server.

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

Input
01001000 01101001 00100001
Output
Hi!

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 position1286432168421
0100100001001000

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

  1. Paste the binary. Any separator works: spaces, commas, new lines or nothing.
  2. Read the text in the output panel.
  3. 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 0 added to each group.

Convert binary to text in code

Python
bits = "01001000 01101001 00100001"
print(bytes(int(b, 2) for b in bits.split()).decode())  # Hi!
JavaScript
const bits = "01001000 01101001 00100001";
console.log(String.fromCharCode(...bits.split(" ").map((b) => parseInt(b, 2)))); // Hi!

Binary at a glance

Bits per character8 (one byte) for ASCII, 8 to 32 for UTF-8
A–Z01000001 to 01011010
a–z01100001 to 01111010
Space00100000

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