How to Translate Binary Code
To translate binary text, identify its encoding, split it into the correct groups, and decode the values. This guide works through Hi by hand, then explains why multi-byte UTF-8 and short five-bit sequences need different treatment.
1. Establish what the bits represent
Ask where the message came from. A classroom A1Z26 puzzle, ITA2 teleprinter stream, unsigned integer, and UTF-8 text use different rules. Five, seven, and eight bits are not interchangeable group widths.
If you know only the digits, keep several interpretations open. For 101, decimal five is well-defined as an unsigned number. Calling it a letter requires another convention, possibly padding. A convincing-looking word is not proof of its format.
2. Group an eight-bit text message
Start with 01001000 01101001. Ignore the display space and split the 16 bits into two eight-bit groups. Preserve leading zeroes inside each byte.
UTF-8 needs a bit count divisible by eight. Seven-bit ASCII needs groups of seven. A divisible count is necessary, not sufficient: the resulting bytes must also be valid.
| First byte | Second byte | Total |
|---|---|---|
| 01001000 | 01101001 | 16 bits / 2 bytes |
3. Add the set-bit values
Write 128, 64, 32, 16, 8, 4, 2, 1 under the bits from left to right. A zero contributes nothing; a one contributes its position's value. For 01001000, add 64 + 8 = 72. For 01101001, add 64 + 32 + 8 + 1 = 105.
| Binary | Set positions | Decimal |
|---|---|---|
| 01001000 | 64 + 8 | 72 |
| 01101001 | 64 + 32 + 8 + 1 | 105 |
4. Look up the characters
ASCII assigns 72 to uppercase H and 105 to lowercase i. Joining them gives Hi. UTF-8 uses the same two bytes here because both characters are in ASCII's range.
Do not read 72 as the characters 7 and 2: it is the numeric value used to find H. Conversely, encoding the text 72 creates two bytes. A character, its code value, and the printed decimal number are distinct things.
5. Keep multi-byte UTF-8 together
é uses C3 A9 in hexadecimal, or 11000011 10101001 in binary. The decoder reads them together as U+00E9. Treating each byte as an ASCII letter is incorrect.
The one-code-point emoji 🙂 uses F0 9F 99 82. A visible emoji can contain multiple code points, so its total can be longer. The inspector shows the code-point groups and their exact bytes.
6. Check a result that does not make sense
Work from the source, not from a desired answer. Distinguish missing bits, the wrong encoding, and valid but invisible characters before changing the data.
- Remove only known separators. Do not silently delete questionable digits or add zeroes.
- Check the count against the source's group width.
- Check the encoding: ASCII rejects values above 127; strict UTF-8 rejects malformed sequences.
- Inspect control values if the result looks blank or has unexpected line breaks.
- For OCR, compare each digit with the image. Valid text can still contain transcription mistakes.
- Confirm the reading with the source context. Choose the number or five-bit tool only when justified.
Frequently asked questions
How do I translate an eight-bit binary message by hand?
First confirm that the source is ASCII or UTF-8 text, then split it into eight-bit bytes. Add the place values where each byte has a 1 and decode those values using the encoding. For 01001000 01101001, the values are 72 and 105, giving Hi. Multi-byte UTF-8 needs sequence decoding rather than one ASCII lookup per byte.
PermalinkHow do I know whether to use five, seven, or eight bits?
Use the format documented by the source, not whichever width happens to produce a word. A1Z26 and ITA2 use five data bits, ASCII can use seven-bit display or eight-bit storage, and UTF-8 uses eight-bit bytes. Without source information, several interpretations may remain possible. Divisibility by a group width is only an initial check.
PermalinkDo I need to memorize the ASCII alphabet or use a calculator?
No. Learn the eight-bit place values—128, 64, 32, 16, 8, 4, 2, 1—and keep a character table nearby. For 01001000, only 64 and 8 contribute, giving 72; the table maps 72 to H. The decimal converter can check your arithmetic, while the alphabet reference checks the character assignment.
PermalinkWhat is the difference between a byte, a code point, and a visible character?
A byte is eight bits. A Unicode code point identifies a character or other assigned item, and UTF-8 encodes each code point using one to four bytes. What looks like one symbol can combine several code points, such as an accented sequence or a joined emoji. That is why byte counts, code-point counts, and visible-symbol counts may differ.
PermalinkDoes decoding binary translate the original message into English?
No. Decoding recovers characters according to their encoding and keeps the original language. A Chinese UTF-8 message decodes to Chinese, just as an English message decodes to English. Translating between languages is a separate step after decoding. A tool's English-language name does not change the language represented by the bytes.
PermalinkIs text written in binary encrypted?
Not when ordinary text is simply displayed as ASCII or UTF-8 bits. Those encodings are public and require no secret key to reverse. Encrypted data can also be represented in binary, but this translator does not decrypt it. Treat an encoded message as readable to anyone who knows its format, even if the digits look unfamiliar.
PermalinkHow should I check a result that is blank, invalid, or plausible but unexpected?
Return to the source and check for transcription errors, missing bits, incorrect group width, and the wrong encoding. Inspect control values if the output looks blank. For a plausible word, compare it with the expected source context; a one-bit mistake can still form valid text. Preserve the original data and record any correction instead of silently changing it.
PermalinkSources & verification
Reference material used for this explanation. The examples are reproducible with the tools on this site; see how they are checked.
- RFC 20: ASCII format for network interchange
- Unicode Consortium: UTF-8, UTF-16, UTF-32 and BOM FAQ
- ITU-T S.1 (03/93), Table 1: International Telegraph Alphabet No. 2
Found a mismatch? Send a correction with a source.