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.

Reviewed · Binary Code Translator project
01

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.

02

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.

Grouping the bits of Hi
First byteSecond byteTotal
010010000110100116 bits / 2 bytes
03

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.

The two byte values in Hi
BinarySet positionsDecimal
0100100064 + 872
0110100164 + 32 + 8 + 1105
04

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.

05

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.

06

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.

  1. Remove only known separators. Do not silently delete questionable digits or add zeroes.
  2. Check the count against the source's group width.
  3. Check the encoding: ASCII rejects values above 127; strict UTF-8 rejects malformed sequences.
  4. Inspect control values if the result looks blank or has unexpected line breaks.
  5. For OCR, compare each digit with the image. Valid text can still contain transcription mistakes.
  6. 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.

Permalink
How 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.

Permalink
Do 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.

Permalink
What 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.

Permalink
Does 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.

Permalink
Is 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.

Permalink
How 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.

Permalink

Sources & verification

Reference material used for this explanation. The examples are reproducible with the tools on this site; see how they are checked.

Found a mismatch? Send a correction with a source.