Binary Decoder: Convert Binary Code Back to Text
Paste a string of 0s and 1s and this binary decoder gives you the text it stands for. It splits the digits into 7-bit or 8-bit groups, turns each group into a number, then looks up the matching character. Spaces, dashes and line breaks are ignored, so you can paste binary code in whatever shape you found it. Everything runs in your browser and nothing you paste is sent anywhere.
Decode Options
Almost all binary text uses 8 bits per character. Pick 7-bit only if your input comes from an older ASCII system, which cannot carry accents or symbols.
Going the Other Way?
This tool turns binary back into text. To turn text into binary, use the encoder.
Binary EncoderBinary Input
Decoded Text
Statistics
Quick Examples
About Binary Decoding
Decoding reads a string of 0s and 1s in fixed-size groups, turns each group into a number, and maps that number back to a character. Everything runs in your browser, so nothing you paste is sent anywhere.
Accepted input:
- • Spaces, dashes, colons or commas
- • No separators at all
- • Line breaks and stray text
- • 7-bit and 8-bit groups
Examples:
- • 01000001 → A
- • 00110000 → 0
- • 00100000 → Space
- • 01000000 → @
What is Binary Decoding?
Binary decoding is the process of reading a stream of 0s and 1s and recovering the text it represents. Encoding goes one way, turning characters into digits. Decoding goes back the other way.
The work happens in three steps. First the digits are split into fixed-size groups, almost always 8 digits each. Then each group is read as a base-2 number. Finally that number is matched to a character using a standard table, which for the first 128 values is plain ASCII.
One group at a time:
How to Use the Binary Decoder
Paste your binary
Drop the whole string into the input box. Separators do not matter: spaces, dashes, colons, commas and line breaks are all stripped before decoding.
Leave the width on Auto
Auto works out whether your groups are 7 or 8 digits. Switch to a fixed width only if you know what you have and want to force it.
Read the result and the badge
The decoded text appears as you type. The badge next to the width selector tells you which group size was actually used, so you can tell at a glance whether the guess matched your expectation.
Copy it
One click puts the decoded text on your clipboard. The statistics panel shows how many digits, groups and characters were involved.
How to Decode a Binary Code by Hand
The tool does this instantly, but the method is worth knowing, and for a single character it takes about ten seconds.
Write the place values above the digits. In an 8-digit group they run 128, 64, 32, 16, 8, 4, 2, 1 from left to right, each one half the value of the one before it. Add up the place values that sit above a 1 and ignore the rest.
Worked example: 01001000
Repeat for every group and you have the message. If you only need a rough check, remember that uppercase letters start at 65 (A) and lowercase at 97 (a), so a group beginning 010 is usually an uppercase letter and 011 is usually lowercase.
Binary to Text Reference Table
A short lookup for the values you meet most often when reading a string of 1s and 0s:
| Binary | Decimal | Character | Notes |
|---|---|---|---|
| 00100000 | 32 | Space | The lowest value you will see in ordinary text |
| 00110000 | 48 | 0 | Digits 0 to 9 run from 48 to 57 |
| 01000001 | 65 | A | Uppercase letters run from 65 to 90 |
| 01011010 | 90 | Z | Last uppercase letter |
| 01100001 | 97 | a | Lowercase letters run from 97 to 122 |
| 01111010 | 122 | z | Last lowercase letter |
| 00101110 | 46 | . | Full stop |
| 01000000 | 64 | @ | Common in decoded email addresses |
| 00001010 | 10 | Newline | Invisible in the output but still a character |
7-Bit and 8-Bit Binary: Which Do You Have?
Original ASCII is a 7-bit code covering values 0 to 127. Modern systems store one character per 8-bit byte, with the extra leading bit set to 0 for anything in the ASCII range. That is why an 8-bit decoder handles almost everything you will find online.
You still meet bare 7-bit groups in older serial and telecom formats, in some coursework, and in puzzles that were written by hand. A 7-bit group has no room for the leading zero, so 1001000 and 01001000 both mean H.
Telling them apart
- Look at the separators first. If the string is split into groups, count the digits in one group. That is your answer, and it is the strongest signal there is because the person who wrote it told you.
- Otherwise count the total. A length that divides by 8 but not by 7 is 8-bit. A length that divides by 7 but not by 8 is 7-bit.
- If it divides by both, assume 8-bit. A 56-digit run fits either reading. Eight is the safer default because it is what almost every tool produces, including our own encoder.
The Auto setting on this page follows exactly those rules in that order, and the badge tells you which width it settled on. Nothing is hidden from you.
Decoding Binary to UTF-8
ASCII stops at 127. Accented letters, currency symbols, non-Latin scripts and emoji are stored as UTF-8, which uses two, three or four bytes per character. The binary is therefore longer than one group per visible character, and decoding has to reassemble the bytes before it can produce a character.
Three bytes, one character
The leading bits carry the structure. A byte starting 0 stands alone, 110 opens a two-byte character, 1110 a three-byte one and 11110 a four-byte one. Continuation bytes always start 10.
This decoder handles all of it in 8-bit mode. Seven-bit mode cannot, because every value it produces stops at 127, so pick 8-bit whenever your text contains anything beyond plain English.
Separators and Formatting
Binary turns up in many shapes and this tool accepts all of them. The input is filtered down to 0s and 1s before anything else happens, so the following all decode to the same word:
Line breaks and indentation are fine too, which matters when you have copied binary out of a code listing or a PDF. The one thing that changes the outcome is the group size, and that is what the width selector is for.
Why Will My Binary Not Decode?
The digit count does not divide evenly
This is the usual cause. A digit was lost in copying, or an extra one crept in. The error message tells you how many digits you have and how many are left over, which is normally enough to spot where the string was cut.
It is hexadecimal, not binary
If the string contains any digit from 2 to 9 or letters a to f, it is hex rather than binary. Binary only ever uses 0 and 1. The tool will warn you that it ignored characters it did not recognise. Our hex encoder and decoder handles that case.
You have a .bin file rather than binary text
A file with a .bin extension holds arbitrary machine data such as firmware or a disk image. It is not text written out as 0s and 1s, so there is nothing here to decode. A hex viewer is the right tool for inspecting one.
The result is nonsense, not words
If the groups decode cleanly but the output looks like noise, the text was probably encrypted before it was turned into binary. Binary is a way of writing data down, not a cipher, so decoding it only gets you back to the encrypted form. You would need the right cipher and key to go further.
Some characters came back as a black diamond
That symbol marks a group that was not valid UTF-8. Usually part of the string is missing or the group size is wrong. The tool decodes what it can and tells you how many groups failed, rather than throwing the whole result away.
Where You Meet Binary Code
- Coursework and homework: number systems and character encoding are standard first-year computer science material.
- Puzzles and games: escape rooms, treasure hunts and capture-the-flag challenges hide messages in binary because it looks cryptic while being easy to check.
- Protocol and packet dumps: network and hardware traces sometimes print payloads as bits rather than bytes.
- Embedded and serial debugging: sensor and microcontroller output is often read one bit at a time.
- Teaching material: showing the same word as text, decimal and binary side by side makes character encoding concrete.
People often describe this as decoding computer code. In everyday use that phrase means binary or ASCII rather than programming source code, and this page handles the former.
Binary, Hex and Base64 Compared
Three formats show up in similar places and are easy to mix up. You can tell them apart at a glance:
| Format | Characters used | "Hi" looks like |
|---|---|---|
| Binary | 0 and 1 only | 01001000 01101001 |
| Hexadecimal | 0 to 9 and a to f | 48 69 |
| Base64 | Letters, digits, + and /, often ending in = | SGk= |
Binary is the longest and the most literal. Hex says the same thing in a quarter of the space, which is why memory dumps use it. Base64 exists to move binary data safely through systems that expect text.
Related Encoding Tools
Other converters in this set:
Binary Encoder
Convert text into binary, with a choice of separators and byte grouping.
Try our binary encoder →Hex Encoder and Decoder
Convert text to hexadecimal or read hex strings back into text.
Try our hex tool →Base64 Converter
Encode and decode Base64, the format used to carry binary data as text.
Try our Base64 tool →Frequently Asked Questions
How do I decode a binary code?
Split the digits into groups of 8, read each group as a base-2 number by adding the place values 128, 64, 32, 16, 8, 4, 2 and 1 where a 1 appears, then look the result up in an ASCII table. Paste the string above and the tool does all three steps at once.
Can I decode any binary string?
Any string made of 0s and 1s whose length divides evenly into 7-bit or 8-bit groups will decode. Separators do not matter. What will not work is a string with digits missing, or one that was never text to begin with.
Is my binary 7-bit or 8-bit?
Count the digits in one separated group. If there are no separators, check the total: divisible by 8 but not 7 means 8-bit, and the other way round for 7-bit. When it divides by both, 8-bit is the safe assumption.
Why is my binary not a multiple of 8?
Almost always a copying slip: a digit was dropped or duplicated. The error message names the exact number of leftover digits, which usually points straight at the break. It can also mean the string is genuinely 7-bit.
Does it handle accented characters and emoji?
Yes, in 8-bit mode. Those characters are stored as several bytes in UTF-8 and the decoder reassembles them. Seven-bit mode covers plain ASCII only and cannot represent them.
Is binary code a form of encryption?
No. Binary is a way of writing data down, not a way of hiding it. Anyone can decode it without a key. If a decoded message still looks like noise, it was encrypted before being written in binary.
Is my data sent to a server?
No. The decoding runs in your browser using JavaScript. Nothing you paste leaves your device, which makes the tool safe for text you would rather not upload anywhere.
Technical Implementation
The decoder strips everything that is not a 0 or a 1, cuts the remainder into equal groups, converts each group to a byte value and hands the result to the browser's built-in UTF-8 decoder:
const cleanBinary = binaryText.replace(/[^01]/g, '');
const bytes = [];
for (let i = 0; i < cleanBinary.length; i += width) {
bytes.push(parseInt(cleanBinary.substr(i, width), 2));
}
return new TextDecoder().decode(new Uint8Array(bytes)); One decoder covers both group sizes. Seven-bit values fall between 0 and 127, and those are exactly the values that UTF-8 stores in a single byte, so no separate character mapping is needed. At eight bits the same call also reassembles multi-byte sequences into the right character.
- Runs entirely in the browser, with no network request
- Accepts any separator, or none at all
- Reports which group size was used rather than deciding silently
- Returns a partial result with a warning when part of the input is broken
Educational Value
Good for learning:
- • How characters are stored as numbers
- • Reading base-2 place values
- • The difference between ASCII and UTF-8
- • Why byte boundaries matter
Everyday uses:
- • Checking homework answers
- • Solving puzzle and CTF challenges
- • Reading debug and protocol output
- • Spot-checking encoder results