b2KIT

Binary to Text Converter

Decode binary strings back to readable text with auto-detection of 7-bit and 8-bit encoding.

Tested tool guide Tested browser tools Checked August 16, 2026

What Binary to Text Converter does, with a checked example

Paste a string of 1s and 0s and this tool converts it back to the text it encodes. Each group of bits is read as a number and matched to a character: 7-bit groups cover the 0-127 ASCII range, 8-bit groups extend to 255, and the tool picks the reading that fits the input's grouping. The catch is that this is flawless for plain ASCII and silently wrong beyond it: characters above U+007F are normally stored as multi-byte UTF-8, so decoding international text byte-by-byte yields doubled, corrupted-looking characters ('é' for 'é') instead of the original letters. All decoding runs locally in your browser; nothing is uploaded.

Worked example

A concrete input and expected output from the current implementation.

Input

01001000 01100101 01101100 01101100 01101111

Expected output

Hello

Each 8-bit group is one byte: 01001000 is 72, 01100101 is 101, and 72, 101, 108, 108, 111 are the ASCII codes for H, e, l, l, o. The same letters would decode from 7-bit groups too, which is why the encoding difference is invisible for plain ASCII.

How the result is produced

1

Grouping decides the reading

The decoder splits the bit string into equal chunks and reads each as a binary number. If the digit count divides by 8 but not 7, only an 8-bit reading is possible, and vice versa. Lengths divisible by both - 56, 112, 168 bits - can be read either way; a byte of 128 or more can only come from an 8-bit chunk, which settles most such cases.

2

What an 8-bit byte means

Bits above 127 are not defined by ASCII. They name characters in one-byte tables such as Latin-1 (ISO 8859-1) and Windows-1252, where 0xE9 is 'é'. Real-world text above U+007F is usually UTF-8, which encodes 'é' as two bytes (C3 A9) - so a byte-by-byte decode shows 'é'. Recognize that output and the source was UTF-8, not a failure of the converter.

Good uses

  • Decoding text fields that a database export or log file dumped as bit strings, where a human-readable column appears as long runs of 1s and 0s.
  • Cracking a message hidden as binary in a puzzle, CTF challenge, or online riddle, where pasting the bit string beats writing a decode script.
  • Verifying the output of code that prints characters in binary, such as a tutorial's bin(ord(c)) loop, to confirm the printed string really says what the script meant.

Limits and checks

  • UTF-8 mojibake. If the output shows doubled, accented-looking characters such as 'é', the original text was stored as multi-byte UTF-8. A byte-by-byte decode cannot reconstruct it; decode the bytes as UTF-8 instead, or convert from the source's actual encoding.
  • Grouping slips. Every chunk must have the same bit count and separators must be consistent: one missing or extra space shifts every following byte and corrupts everything after it. Input whose length is not a multiple of 7 or 8 also leaves a trailing partial chunk that cannot be decoded.
  • The 56-bit ambiguity. Lengths divisible by both 7 and 8 accept two readings that can produce different characters. A byte value of 128 or more in the 8-bit reading proves that reading was intended; otherwise the tool's default decides, so if the output looks wrong at these lengths, try the other grouping.

Common questions

Why does my 'é' or 'ñ' come out as 'é' or 'ñ'?

The original text was saved as UTF-8, where characters above U+007F occupy two or more bytes, and this tool decodes one byte per character. 'é' as UTF-8 is the byte pair C3 A9, which reads back as 'Ã' and '©'. To recover the true characters, decode the bytes as UTF-8; a byte-by-byte converter cannot restore them.

Can it also convert text back into binary?

No - this tool only decodes binary to text. The reverse is easy to do yourself: in Python, ' '.join(f'{ord(c):08b}' for c in s) converts 'Hello' into '01001000 01100101 01101100 01101100 01101111', the exact form this converter accepts. Most scripting languages have an equivalent one-liner.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools