Binary to String Converter
Convert binary code to readable text or text to binary. Supports UTF-8, auto-detects delimiters, and handles 8-bit byte sequences instantly.
About
Binary-to-text conversion maps sequences of 0s and 1s to human-readable characters using a defined encoding standard. Each character in UTF-8 occupies 1 to 4 bytes, meaning a single emoji can require 32 bits while a Latin letter needs only 8. Misinterpreting byte boundaries or using the wrong encoding produces garbled output or silent data corruption. This tool uses the browser's native TextDecoder and TextEncoder APIs with full UTF-8 support. It auto-detects delimiters (spaces, commas, continuous streams) and validates that every chunk is a legal binary octet before decoding.
Limitation: this converter assumes well-formed UTF-8 input. Arbitrary binary that does not represent valid UTF-8 code points will produce the Unicode replacement character U+FFFD. For raw binary data inspection, a hex editor is more appropriate. Pro tip: when pasting binary from external sources, watch for invisible Unicode whitespace characters that look like spaces but have different code points.
Formulas
Converting a single ASCII character to its binary representation requires extracting the character's code point and expressing it in base 2, zero-padded to 8 bits.
Where B is the binary string output, and c is the Unicode code point (integer) of the character. For UTF-8 multi-byte encoding, the encoder maps code points to 1 - 4 bytes following this scheme:
The reverse operation (binary to string) parses each 8-bit group as an unsigned integer: c = 7∑i=0 bi ⋅ 2i, where bi is the bit at position i (LSB at i = 0). The resulting byte array is then decoded as UTF-8.
Reference Data
| Character | ASCII Code | Binary (8-bit) | Hex | Description |
|---|---|---|---|---|
| A | 65 | 01000001 | 41 | Uppercase Latin A |
| Z | 90 | 01011010 | 5A | Uppercase Latin Z |
| a | 97 | 01100001 | 61 | Lowercase Latin a |
| z | 122 | 01111010 | 7A | Lowercase Latin z |
| 0 | 48 | 00110000 | 30 | Digit zero |
| 9 | 57 | 00111001 | 39 | Digit nine |
| (space) | 32 | 00100000 | 20 | Space character |
| ! | 33 | 00100001 | 21 | Exclamation mark |
| @ | 64 | 01000000 | 40 | At sign |
| # | 35 | 00100011 | 23 | Number/hash sign |
| . | 46 | 00101110 | 2E | Period/full stop |
| , | 44 | 00101100 | 2C | Comma |
| ? | 63 | 00111111 | 3F | Question mark |
| \n | 10 | 00001010 | 0A | Line feed (newline) |
| \t | 9 | 00001001 | 09 | Horizontal tab |
| & | 38 | 00100110 | 26 | Ampersand |
| / | 47 | 00101111 | 2F | Forward slash |
| \ | 92 | 01011100 | 5C | Backslash |
| ~ | 126 | 01111110 | 7E | Tilde |
| € | 8364 | 11100010 10000010 10101100 | E282AC | Euro sign (3-byte UTF-8) |
| © | 169 | 11000010 10101001 | C2A9 | Copyright sign (2-byte UTF-8) |
| π | 960 | 11001111 10000000 | CF80 | Greek lowercase pi (2-byte UTF-8) |