Binary to Text
Decode 8-bit binary back into readable text.
Binary Length: 0Output Length: 0
Text Output
Decoding Binary to Plain Text
Binary-encoded text is a sequence of 8-bit groups (bytes), each representing one UTF-8 byte. This tool splits your input on any separator — spaces, commas, newlines or dashes — or into 8-bit chunks if there are none, tolerates 0bmarkers, converts each group back to a byte, and decodes the whole stream as UTF-8 in one pass, which is what lets multi-byte characters and emoji survive. Groups must contain only 0and1; anything else is reported by name rather than skipped. All decoding happens locally in your browser.
Built and maintained by Meet Shah · Last updated
What this tool is used for
- Decoding a binary string from a puzzle or a challenge back into text.
- Reading a bit sequence someone transcribed by hand.
- Checking that a binary encoding round-trips correctly.
- Recovering text from a system that logged bits rather than bytes.
- Verifying which bytes a string occupies by decoding them back.
Frequently Asked Questions
- Which separators can I paste?
- Spaces, tabs, newlines, commas, semicolons, pipes, slashes and dashes all work, and 0b prefixes are stripped. Input with no separators at all is cut into 8-bit groups, so 0100100001101001 decodes to "Hi" unaided.
- Do the groups have to be exactly 8 bits?
- No — leading zeros are optional, so 7-bit ASCII such as 1001000 1101001 also decodes to "Hi". What is rejected is a group longer than 8 digits, and an unseparated run whose length is not a multiple of 8, because nothing can say where the bytes begin.
- Why does it name an invalid group instead of ignoring it?
- Because filtering is silent data loss. An earlier version dropped every character that was not a 0 or 1, so "01001000 999999" decoded cleanly to "H" and the nonsense simply vanished. Reporting the bad group is what makes a typo visible.
- Does it handle accents and emoji?
- Yes — it decodes UTF-8 bytes, not characters. "é" is two bytes (11000011 10101001) and an emoji is four, and the whole stream is reassembled before being decoded in a single pass, which is the only way a multi-byte character survives.
- Why is there a � in the output while I type?
- An incomplete multi-byte sequence decodes to U+FFFD, the replacement character. That is deliberate: a half-typed character shows a placeholder rather than blanking the whole output, and it resolves itself as soon as the remaining bytes arrive.
- Does bit order within a byte matter?
- Yes — this reads most-significant-bit first, the near-universal convention. A stream written least-significant-bit first decodes to entirely different characters, which is why output that looks like noise is often a bit-order mismatch rather than corruption.
Common errors and gotchas
- Decoding a sequence transcribed by hand, where a single miscopied bit changes the letter silently.
- Losing a leading zero in a byte, which is the same error seen a different way.
- Decoding bits that were never text, which produces control characters rather than an error.
- Feeding in a bit count that is not a multiple of eight, which cannot form whole bytes.
- Pasting input a terminal wrapped, which inserts real newlines inside a byte.
Related Text Tools tools
Case Converter
Convert between Sentence, Title, camelCase, snake_case, and more.
Word Counter
Count words, characters, and analyze keyword density.
Text to Binary
Convert text into its 8-bit binary representation.
Text Reverser
Reverse text by characters, words, or lines.
Remove Duplicate Lines
Delete repeated lines and keep your list unique.
Remove Empty Lines
Strip blank and whitespace-only lines from text.
Sort Lines Alphabetically
Sort lines A–Z or Z–A, case-sensitive or not.
Slugify URL Generator
Turn any title into a clean, URL-safe slug.