User Rating 0.0 β˜…β˜…β˜…β˜…β˜…
Total Usage 0 times
Example: 01001000 01100101 01101100 01101100 01101111
Result will appear here
Is this tool helpful?

Your feedback helps us improve.

β˜… β˜… β˜… β˜… β˜…

About

Binary-to-text decoding maps each group of bits to a character via its code point value. A single flipped bit produces the wrong character or an invalid code point entirely. This converter processes lists of binary strings - separated by spaces, commas, newlines, or tabs - and resolves each token to its decimal value d using positional notation, then maps d to the corresponding Unicode code point via fromCodePoint(d). Invalid tokens are flagged individually without aborting the batch. The tool assumes unsigned integer encoding with no leading-bit sign convention.

Standard ASCII occupies code points 0 - 127 (7-bit), while extended Unicode requires longer binary strings. If your binary values exceed 21 bits, they fall outside the valid Unicode range (max U+10FFFF) and will be rejected. Pro tip: if your source system uses fixed-width encoding (e.g., 8-bit bytes), enable the fixed-width validation option to catch truncated or padded tokens early.

binary to text binary converter binary to ascii binary decoder binary list converter

Formulas

Each binary token B of length n bits is converted to its decimal code point d by positional expansion:

d = nβˆ’1βˆ‘i=0 bi β‹… 2i

where bi is the bit at position i (counting from the right, starting at 0). The resulting decimal d is then mapped to a character c:

c = fromCodePoint(d)

The valid domain is 0 ≀ d ≀ 1114111 (i.e., 0x10FFFF), the maximum Unicode code point. Additionally, surrogate code points 0xD800 - 0xDFFF are excluded as they are reserved for UTF-16 encoding pairs and do not represent valid characters.

where d = decimal code point, n = number of bits, bi = bit value at position i, c = resulting character.

Reference Data

CharacterDecimalBinary (8-bit)Description
NUL000000000Null character
LF1000001010Line Feed
CR1300001101Carriage Return
SP3200100000Space
!3300100001Exclamation mark
04800110000Digit zero
95700111001Digit nine
A6501000001Uppercase A
Z9001011010Uppercase Z
a9701100001Lowercase a
z12201111010Lowercase z
~12601111110Tilde
DEL12701111111Delete control char
Á19311000001Latin A with acute
ß22311011111German sharp s
€836410000010101100Euro sign (14-bit)
δΈ–19990100111000010110CJK character (15-bit)
πŸ˜€12851211111011000000000Grinning face emoji (17-bit)
πŸ’‘12816111111010010100001Light bulb emoji (17-bit)
@6401000000At sign
#3500100011Number sign / hash

Frequently Asked Questions

The converter validates each token against the pattern /^[01]+$/. Any token containing letters, digits other than 0/1, or special characters is flagged as invalid in the output table. It does not halt processing of remaining tokens.
Code points 128 - 159 (binary 10000000 - 10011111) are C1 control characters in Unicode. They are non-printable. If your source uses Windows-1252 encoding, those same byte values map to printable characters like curly quotes. This tool decodes strictly as Unicode code points, not Windows-1252.
UTF-8 is a multi-byte encoding where a single character can span 1 to 4 bytes. This tool treats each binary token as a complete code point, not a UTF-8 byte. To decode UTF-8, you must first concatenate the payload bits from each byte according to the UTF-8 continuation pattern (110xxxxx 10xxxxxx for 2-byte, etc.) before conversion.
The maximum valid Unicode code point is U+10FFFF which equals 1114111 in decimal, requiring 21 bits. Binary tokens longer than 21 bits will always exceed this limit and are rejected. Tokens of exactly 21 bits are validated against the 1114111 ceiling.
Auto-detection checks for newlines first, then commas, then tabs, then falls back to spaces. Ambiguity arises if your input uses spaces inside comma-separated values (e.g., 01001000, 01101001). In such cases, select the delimiter manually from the dropdown to override auto-detection.
Code points 0xD800 through 0xDFFF are reserved by the Unicode standard for UTF-16 surrogate pairs. They do not represent standalone characters. JavaScript's String.fromCodePoint throws a RangeError for these values. The converter catches this and flags the token as invalid.