How binary becomes text again
Decoding is text to binary in reverse. The tool removes spaces and line breaks, cuts the digits into groups of eight, turns each group into a number, and looks that number up as a character.
If a group starts with 0, it is a complete ASCII character on its own. If it starts with 110, 1110 or 11110, it is the first byte of a longer character, and each of the next one to three bytes starts with 10.[1][2][3]
When the bytes break those rules, the tool says they are not valid UTF-8 text instead of showing a wrong letter. A stray byte that starts with 10, or a long character that is cut short, is the usual cause.[4]
Worked example: decoding Hello
- Binary
- 01001000 01100101 01101100 01101100 01101111
- Text
- Hello
| Byte | Decimal | Character |
|---|---|---|
| 01001000 | 72 | H |
| 01100101 | 101 | e |
| 01101100 | 108 | l |
| 01101100 | 108 | l |
| 01101111 | 111 | o |
- Each byte starts with 0, so each one is a single ASCII character.
- The same byte, 01101100, appears twice because Hello has two small l letters.
Before you decode
- Make sure the input uses only 0 and 1. Letters such as O or l are not binary digits.
- Count the digits. The total must be a multiple of 8, like 8, 16 or 40.
- Keep the bytes in their original order. Moving one byte changes the text, and splitting the bytes of a longer character breaks it.
- If the result still looks wrong, ask whether the binary was written with a 7-bit code. This tool reads 8-bit bytes only.
Questions about decoding binary
What does 01001000 01101001 mean?
It means Hi. The first byte is 72, the code for capital H, and the second is 105, the code for small i.
Can the decoder read 7-bit groups?
No. It needs full 8-digit bytes. Some older systems wrote seven digits per character, and those groups make the digit count wrong for 8-bit bytes.
Is the decoded text stored anywhere?
No. Decoding happens in your browser. Nothing you paste is saved or sent unless you choose to email yourself a copy.
Why do some bytes decode to nothing visible?
Codes 0 to 31 and 127 are control codes, such as Line Feed and Carriage Return. They move text around rather than print a symbol, so they show up as gaps or line breaks.
Sources, last checked October 12, 2026
- RFC 3629: UTF-8, a transformation format of ISO 10646 (IETF, 2003)
The only octet of a "sequence" of one has the higher-order bit set to 0, the remaining 7 bits being used to encode the character number.
In a sequence of n octets, n>1, the initial octet has the n higher-order bits set to 1, followed by a bit set to 0.
The following octet(s) all have the higher-order bit set to 1 and the following bit set to 0, leaving 6 bits in each to contain bits from the character to be encoded.
The first octet of a multi-octet sequence indicates the number of octets in the sequence.