Convert binary to text
Decode binary back into readable text. Any spacing is accepted, UTF-8 and ASCII are both supported, and the errors tell you what is wrong.
- Runs in your browser
- Nothing you enter is sent
- Free, no account
The translation appears here.
Always eight bits per byte. Accented letters, CJK and emoji take two to four bytes each — the same bits a file on disk would hold.
Applies to generated output. Input is parsed with any spacing at all — every non-binary character is ignored.
Decoding binary
Paste the ones and zeros. Every other character — spaces, commas, newlines, stray letters — is discarded before decoding, so it does not matter how the source was formatted. The remaining bits are then split into groups of eight (or seven in ASCII mode) and each group is read as a character code.
Do it by hand
Take 01010111:
Place values: 128 64 32 16 8 4 2 1
Bits: 0 1 0 1 0 1 1 1
Contributing: 64 16 4 2 1
Total: 64 + 16 + 4 + 2 + 1 = 87 → "W"
A shortcut for the common case: if the byte starts 010 it is an uppercase letter,
and if it starts 011 it is lowercase or a digit. The remaining five bits give the
position in the alphabet.
When the bit count does not divide evenly
A valid binary message has a total bit count that is a multiple of the group size. If you get a remainder, one of these is true:
- A digit was lost when copying — check the very start and end of the paste.
- The source used 7-bit groups and you are decoding as 8, or the reverse.
- Something in the input was already a 0 or 1 and got absorbed as data — a bullet point, a list number, a line label.
- The message was never binary text in the first place.
The error message names the exact number of leftover bits, which usually points straight at the cause.
UTF-8 or single-byte?
If the decoded text is full of Ã, â and €, you are
reading UTF-8 bytes one at a time — switch the character set to UTF-8 and the accented
characters will resolve. If instead you get replacement diamonds in UTF-8 mode, the source was
probably 7-bit ASCII or Latin-1, so switch the other way.
Common patterns you can recognise
| Byte | Character | Why it matters |
|---|---|---|
00100000 | space | The most common byte in English text |
00001010 | line feed | End of a line on Unix |
00001101 | carriage return | Paired with the above on Windows |
00110000–00111001 | digits 0–9 | All start 0011 |
00000000 | null | Padding, or a string terminator |
Where binary messages come from
Puzzle hunts and CTF challenges, escape rooms, geocaching clues, homework, and the occasional genuinely technical case — a logic-analyser capture, a serial trace, or an error message that printed a byte in binary. The tool does not care which; it just reads the bits.
Questions
Does the spacing in my binary matter?
No. Every character that is not a 0 or a 1 is discarded before decoding, so spaced, unspaced, comma-separated and line-broken input all behave identically.
It says my bit count is not a whole number of groups.
The total number of binary digits has to divide by 8 (or 7 in ASCII mode). A leftover of one to seven bits means a digit was lost in copying, or the source used a different group size.
The output is question marks and boxes.
The bytes are valid but do not form valid UTF-8 — usually because the original was 7-bit ASCII or Latin-1. Switch the character set and it should resolve.
Can it decode binary that is not text at all?
It will try, and you will get control characters. If the bits came from a file rather than a message, the hex pages are a far more useful way to look at them.