Binary to String
Decode binary into a readable string. Paste your 0s and 1s, with or without spaces between the bytes, choose the encoding, and the converter returns the text along with a step-by-step breakdown of how each byte became a character. It is free, and the page states that decoding happens in your browser and your input is never uploaded, logged or stored.
How to Convert Binary to a String
1. Paste your binary into the input box. Spaces between bytes are optional.
2. Choose the encoding: ASCII, UTF-8 or UTF-16. If you are not sure, leave it on UTF-8.
3. Read the decoded text and follow the step-by-step breakdown to see how each byte was turned into a character.
How Binary to String Conversion Works
Computers store text as numbers, and numbers as binary. To go back, split the binary into groups of 8 bits (bytes), turn each byte into a number, and look that number up in a character encoding.
Take 01001000 01101001:
| Byte | Decimal | Character |
| 01001000 | 72 | H |
| 01101001 | 105 | i |
Together they spell "Hi". A longer example: 01101100 01101111 01110110 01100101 is 108, 111, 118 and 101, which spell "love".🤣
Understanding Character Encoding
The encoding decides which number means which character, so the same bytes can decode to different text under different encodings.
• ASCII is the original set of 128 characters: English letters, digits, punctuation and control codes. It fits in 7 bits, and is usually stored in 8.
• UTF-8 uses 1 to 4 bytes per character. It matches ASCII for the first 128 characters and can represent every character in Unicode, including non-Latin scripts and emoji. It is the usual default on the web, which is why it is a safe first choice.
• UTF-16 uses 2 or 4 bytes per character. Choose it only when you know your data was encoded that way.
Emoji need several bytes. The grinning face 😀 (U+1F600) is four bytes in UTF-8: 11110000 10011111 10011000 10000000.
Choose the wrong encoding and you get mojibake, text full of odd symbols. The letter é is 11000011 10101001 in UTF-8. Read those two bytes as two separate single-byte characters and you see é instead.
Binary to String in Python
If you want to do this in code, Python does it in a few lines. For a string of 8-bit groups separated by spaces, this works for basic ASCII text:
binary = "01001000 01101001"
text = "".join(chr(int(b, 2)) for b in binary.split())
print(text) # Hi
That approach breaks on characters that take more than one byte, such as é or an emoji. For those, build the bytes first and decode them with the right encoding:
binary = "01001000 01101001"
data = bytes(int(b, 2) for b in binary.split())
print(data.decode("utf-8")) # Hi
If your binary has no spaces, split it into 8-bit chunks first:
bits = "0100100001101001"
chunks = [bits[i:i + 8] for i in range(0, len(bits), 8)]
print(bytes(int(c, 2) for c in chunks).decode("utf-8")) # Hi
For a quick answer without writing code, paste the binary into the converter above.
Binary Signals and Captured Data
A binary signal has two states, such as high and low voltage, and these are written as 1 and 0. If a device or capture gives you a sequence of those states, you can sometimes decode it as text, but raw captures need cleaning first. Serial data, for example, may carry extra start, stop or parity bits around each byte, and the bits within a byte may arrive in reverse order. Strip the extra bits and put each byte in the right order before you paste it. And only decode it as text if the signal actually carries text.
Common Mistakes to Avoid
❌ Choosing the wrong encoding.
✓ Solution:
If the output looks odd, switch the encoding. UTF-8 is the best first try, and ASCII and UTF-16 are the alternatives.
❌ Grouping the bytes incorrectly.
✓ Solution:
Each character starts on an 8-bit boundary. One missing or extra bit shifts every byte after it and scrambles the rest of the message. Check that the total length is a multiple of 8.
❌ Ignoring a Byte Order Mark.
✓ Solution:
Some UTF-8 and UTF-16 text begins with a few marker bytes (EF BB BF in UTF-8). They are not part of the message. If a stray character appears at the start of your output, this is a likely cause.
❌ Assuming all binary is text.
✓ Solution:
Binary from an image, a program or compressed data will decode to gibberish, because it was never text.
❌ Not recognising mojibake.
✓ Solution:
Strings like é in place of é point to an encoding mismatch, not damaged data. Try another encoding.
Frequently Asked Questions
Split the binary into 8-bit bytes, convert each byte to its decimal value, and look each value up in a character encoding such as ASCII or UTF-8. The converter does all of that and shows the steps.
It decodes to "Hi". The bytes are 72 and 105, which are H and i.
No. You can paste the binary with or without spaces. It is read as 8-bit groups.
Yes, when the data is encoded in UTF-8. An emoji such as 😀 takes four bytes.
ASCII covers 128 basic characters. UTF-8 uses 1 to 4 bytes per character, matches ASCII for the first 128, and covers all of Unicode. UTF-16 uses 2 or 4 bytes per character.
Most often the encoding is wrong, which produces mojibake. Try UTF-8 first. If the binary came from an image or a program, it was never text and will not decode into anything readable.
Turn each 8-bit group into a number with int(group, 2), collect the numbers into bytes, and decode them with bytes.decode("utf-8"). The Python section above has complete examples.
No. This tool decodes binary to text only.
The page states that all decoding happens client-side in your browser, and that input is never uploaded, logged or stored.
Yes. It is free to use, with no signup.
Decode Your Binary
Paste your binary, choose an encoding, and read the text. If the result looks wrong, try another encoding before you check the bytes.
More Like This
Advance Loan Calculator
A loan calculator is a financial tool designed to help borrowers estimate their monthly payments, total interest, and repayment schedule for a loan. By inputting key details such as the loan amount, interest rate, and loan term, users can quickly determine how much they will need to pay each month and the overall cost of the loan.
Base64 Decode
Free Base64 decoder for text, files, and images with JWT/Base64URL support and 100% client-side, private processing.
Base64 Encode
Encode text to Base64 instantly. Type any input and get a safe, ASCII-only Base64 string in real time, with one-click copy.

