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 Encoder

Binary Input

Paste binary code to convert back to text
0 characters

Decoded Text

Readable text result

Statistics

0
Binary Digits
0
Groups
0
Characters
Bit Width

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:

01001000 → 72 → H
01100101 → 101 → e
01101100 → 108 → l
01101100 → 108 → l
01101111 → 111 → o
Result: Hello

How to Use the Binary Decoder

1

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.

2

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.

3

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.

4

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

Place: 128 64 32 16 8 4 2 1
Digit: 0 1 0 0 1 0 0 0
Take: 64 8
64 + 8 = 72
ASCII 72 = H

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

11100010 → starts with 1110, so a 3-byte character begins here
10000010 → starts with 10, a continuation byte
10101100 → starts with 10, a continuation byte
Together: €

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:

01001000 01101001
01001000-01101001
01001000,01101001
0100100001101001
All four give: Hi

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.

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