Binary to Text

Translate binary code back into readable text, with or without spaces.

  • Runs in your browser
  • Free, no sign-up
Paste binary to start

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

  1. Choose the input systemBinary, Hex, Octal or Decimal, matching the code you have.
  2. Paste the codePaste it into the left box or drop a text file onto it. Sample loads "Hi 👋" in the system you selected.
  3. 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.
  4. Read the textThe decoded text appears on the right as you paste. The status line shows how many bytes or code points were read.
  5. 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:

SystemInput
Binary01001000 01101001 00100000 11110000 10011111 10010001 10001011
Hex48 69 20 F0 9F 91 8B
Octal110 151 040 360 237 221 213
Decimal72 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)EncodingResult
63 61 66 E9Latin-1café
63 61 66 E9UTF-8caf� (Decoded with errors)
1F44BCode points👋
48 69 1F44BCode pointsHi👋

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

InputMessage
01001000 01201001"2" is not a binary digit (position 12)
010010000110100The 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.

Frequently asked questions

How do I convert binary to text?
Paste the binary code into the box. Each group of eight bits is read as one byte, and the bytes are decoded as UTF-8 text. 01001000 01101001 becomes "Hi".
Do I need spaces between the bytes?
Not for binary, hex or octal. A string without spaces is split into groups of 8, 2 or 3 digits. Decimal numbers do need separators, because they vary in length.
What is the difference between UTF-8, Latin-1 and code points?
UTF-8 reads one to four bytes per character and covers every language. Latin-1 reads exactly one byte per character and only covers Western European letters. Code points read each number as a whole character number, such as 233 for é.
Why do I see � in the result?
Some bytes do not form valid UTF-8, often because the text was written in Latin-1 or another older encoding. Switch to Latin-1, or check the code for mistakes.
Can it read hex with 0x in front?
Yes. Prefixes such as 0x, 0b and 0o are removed before decoding, so 0x48 0x69 gives "Hi".
How do I decode a single emoji code like U+1F44B?
Choose Hex and Unicode code points, then enter 1F44B without the U+. The result is 👋.
What does "does not split into groups of 8" mean?
The binary code has no separators and its length is not a multiple of eight, so at least one digit is missing or extra. Add spaces between the bytes or check the code.
Is my data sent anywhere?
No. The bits are turned back into text in your browser, and nothing is uploaded.