The binary code translator on our home page does this in a blink — but knowing how to do it by hand makes you independent of any tool. All you need is a pencil, the powers of two and an ASCII table. We will decode 01001000 01101001 — the same message the translator greets you with.
Why This Method Works
Decoding is just encoding run backwards. Each byte is a number from 0 to 255 written in base 2, and ASCII is the table that turns the number into a character. So reading binary by hand is three lookups: split into bytes, evaluate each byte as a number, read the number off the table.
The Four Steps
-
Split the binary into 8-bit bytes
Text is stored one character per byte, and one byte is exactly 8 bits.
01001000 01101001is 16 bits, so it is two bytes:01001000and01101001. -
Turn each byte into a decimal number
Each position in a byte is worth a power of two. Add the values of the positions that hold a 1: for
01001000that is 64 + 8 = 72, and for01101001it is 64 + 32 + 8 + 1 = 105.Bit position 1 2 3 4 5 6 7 8 Value 128 64 32 16 8 4 2 1 -
Look up each number in the ASCII table
ASCII assigns one character to every number from 0 to 127. Decimal 72 is H and 105 is i, so the message reads “Hi”. The full reference table lives on our home page.
-
Check yourself with the translator
Paste
01001000 01101001into our binary code translator — if it shows “Hi”, your hand conversion was correct.
Common Mistakes
- Grouping from the wrong end — bytes split from the left, 8 bits at a time. If the sender dropped a leading zero, a group of 7 breaks everything after it; the translator’s Error Clinic flags the exact group (“Group 2 has 7 bits”), and our messy-input tests show how often this happens in real pastes.
- Treating a fragment as text —
10101is the number 21, not a broken letter. Text needs complete bytes; the translator asks before interpreting short fragments. - Adding the place values wrong — sanity-check by converting your decimal answer back to binary: the 1-positions of
01101001must re-add to 105. - Ignoring case —
01001000is H but01101000is h. Uppercase and lowercase letters are 32 apart, and a wrong case makes real words look like typos.
Practice
1. Decode 01000011. 64 + 2 + 1 = 67, and ASCII 67 is the letter C.
2. Decode 01101000 01101001. The bytes are 104 and 105 — lowercase h and i, so the message is “hi”, not “Hi”. Check both in the translator.
The Reverse Direction
Writing binary by hand is the mirror image of reading it: find the character’s number, convert that decimal number to binary, pad to 8 bits. Our companion guide walks through text to binary by hand with the same worked example.
When By Hand Is Not Enough
English letters always fit in one byte, but characters like 你 or 👋 need three or four bytes in UTF-8 — doable on paper, tedious in practice. The article on how UTF-8 encodes multi-byte characters explains why. And if a short fragment like 10101 refuses to become a letter, it is probably a number, not text — that distinction is covered in binary numbers vs binary text.
Frequently Asked Questions
What if the bit count is not a multiple of 8?
Then a bit was lost or added in copying. The incomplete group at the end cannot be a character — the translator pinpoints it and offers to pad it with a leading zero or drop it, so you can still read the rest of the message.
Do uppercase and lowercase letters decode differently?
Yes. Uppercase and lowercase forms are 32 apart in ASCII — H is 72 (01001000) while h is 104 (01101000). If a decoded word looks right but the case is off, check that second bit.
Can I decode emoji by hand?
Technically yes, but it is tedious: an emoji is 3–4 UTF-8 bytes whose payload bits must be reassembled into a large code point before you can look it up. For multi-byte characters, use the translator and open Explain This Result instead.