About the Binary to Text
Got a string of ones and zeros, like 01001000 01101001? Paste it into Binary to Text and you see what it says: "Hi". The converter reads each group of eight bits as a byte and turns the bytes back into readable text.
It also reads hexadecimal, octal and decimal bytes, so the same tool decodes 48 69, 110 151 and 72 105. Bytes can be separated by spaces, line breaks or commas, or written as one long string; prefixes such as 0b and 0x are ignored. The bytes are read as UTF-8 by default, so accented letters, other alphabets and emoji come out right, and you can switch to Latin-1 for older text or to Unicode code points to decode single character numbers.
If something is wrong, such as a 2 in binary code or a missing digit, you get a message that says what and where. Everything runs in your browser.
How to use it
- Choose the input systemBinary, Hex, Octal or Decimal, matching the code you have.
- Paste the codePaste it into the left box or drop a text file onto it. Sample loads "Hi 👋" in the system you selected.
- Pick the text encodingUTF-8 for almost everything, Latin-1 for old Western European text, or Unicode code points when each number is a whole character.
- Read the textThe decoded text appears on the right as you paste. The status line shows how many bytes or code points were read.
- Fix errors if neededIf the code has a wrong digit or an incomplete byte, the message tells you the position. Then copy or download the text.
Key features
Four input systems
Binary, hexadecimal, octal and decimal bytes.
Flexible input
Spaces, line breaks, commas or semicolons between bytes, or none at all for binary, hex and octal. 0b, 0x and 0o prefixes are removed.
UTF-8 decoding
Multi-byte characters such as é, € and emoji are put back together correctly.
Latin-1 and code points
Read single bytes as Latin-1 characters, or read each number as a Unicode code point, such as 1F44B for 👋.
Clear error messages
Invalid digits are reported with their position, and incomplete bytes and values over 255 are explained.
Private by design
Nothing is uploaded. Decoding happens in your browser.
Examples
The same text in four systems
Each of these decodes to Hi 👋, 7 bytes in UTF-8:
| System | Input |
|---|---|
| Binary | 01001000 01101001 00100000 11110000 10011111 10010001 10001011 |
| Hex | 48 69 20 F0 9F 91 8B |
| Octal | 110 151 040 360 237 221 213 |
| Decimal | 72 105 32 240 159 145 139 |
The last four bytes belong together: in UTF-8, 11110000 announces a character made of four bytes, and that character is 👋.
Different ways to write binary
All of these give Hi:
01001000 01101001(spaces)0100100001101001(no spaces, split into groups of eight)01001000,01101001(commas)0b01001000 0b01101001(0b prefixes)- each byte on its own line
Choosing the right encoding
| Input (hex) | Encoding | Result |
|---|---|---|
63 61 66 E9 | Latin-1 | café |
63 61 66 E9 | UTF-8 | caf� (Decoded with errors) |
1F44B | Code points | 👋 |
48 69 1F44B | Code points | Hi👋 |
In Latin-1, E9 is é. In UTF-8, é is written as two bytes, C3 A9, so a lone E9 is invalid and shows as �.
Error messages
| Input | Message |
|---|---|
01001000 01201001 | "2" is not a binary digit (position 12) |
010010000110100 | The binary code has 15 digits, which does not split into groups of 8 |
72 300 (decimal) | The value 300 is larger than one byte |
Tips
- If the result is full of � characters, the bytes are probably not UTF-8. Try Latin-1, or check whether the code is really hex or decimal rather than binary.
- Code from Text to Binary in UTF-16 mode can be decoded here too: choose Unicode code points and keep the spaces between the 16-bit units.
- Binary puzzles sometimes leave out the leading zero of each byte, giving 7-digit groups. With spaces between them, 1001000 1101001 still decodes to "Hi"; without spaces, the code cannot be split, so add the spaces first.
- Decimal numbers must be separated by spaces, line breaks or commas. 72105 is read as one number, not as 72 and 105.
- To turn text into binary, use Text to Binary, the companion tool with the same number systems.
Common mistakes and limits
- Choosing the wrong number systemCode like 10 11 01 is valid in binary, octal, decimal and hex, but decodes to different bytes in each. Check where the code came from.
- Missing digits when there are no spacesWithout separators, binary is split into groups of eight, hex into pairs and octal into groups of three. One missing digit shifts every byte after it, so the tool refuses code that does not divide evenly.
- Decoding UTF-16 as UTF-8UTF-16 code units are 16 bits long and larger than one byte. Choose Unicode code points for them instead of UTF-8.
- Expecting control characters to be visibleBytes below 32, such as 00001010 for a line break or 00000000, are valid but invisible. They still end up in the output.
- Mixing systems in one inputA hex value like FF among binary bytes is reported as an invalid digit. Convert everything from one system at a time.