ToolNest logoToolNest.

How to Convert Binary to Decimal Manually Step by Step

To learn how to convert binary to decimal manually step by step, use the place-value method: write each bit's place value (1, 2, 4, 8, 16 … doubling leftward), keep only the values under the 1 bits, and add them up. For example, 1011 gives 8 + 2 + 1 = 11. Verify any hand calculation with our free number base converter. This guide walks through the place-value method with three worked examples of increasing size, a faster doubling shortcut, binary fractions, and the one-line Python check programmers use.

Binary Place Values: The Only Idea You Need

Decimal counts in powers of 10 (ones, tens, hundreds). Binary counts in powers of 2. Each position in a binary number is worth double the one to its right, starting from 1 at the far right: 1, 2, 4, 8, 16, 32, 64, 128, and so on. A 1 in a position means "include this value"; a 0 means "skip it." That is the entire method — conversion is just adding the values under the 1s. Write the place values above the digits once and the answer practically reads itself. One subtle point beginners miss: the rightmost bit is 2⁰ = 1, not 2. Numbering starts at zero, which is why the sequence begins 1, 2, 4 rather than 2, 4, 8. If you enjoy base conversions generally, the same idea with powers of 16 is covered in our guide to converting hexadecimal to decimal manually.

Method 1: The Place-Value Method, Step by Step

Let us convert 1011 completely. Step 1: write the place values above the bits, doubling leftward: 8  4  2  1 over 1  0  1  1. Step 2: keep only the values sitting under a 1: 8 (under the first 1), skip 4 (under the 0), keep 2, keep 1. Step 3: add them: 8 + 2 + 1 = 11. Check it backwards: 11 in decimal is one 8, zero 4s, one 2, one 1 — matches 1011 exactly. The method works because every integer has exactly one representation as a sum of distinct powers of 2, so the addition is unambiguous. For numbers longer than about 8 bits, the values get big (256, 512, 1024…) — keep a powers-of-2 list handy, or switch to the doubling shortcut in the next section. And if you ever need the reverse trip, see converting decimal to hexadecimal manually, which uses the same place-value thinking.

Worked Example: 110101

Six bits — the same method, just a longer addition. Step 1: lay out place values: 32  16  8  4  2  1 over 1  1  0  1  0  1. Step 2: select the values under the 1s: 32, 16, skip 8, 4, skip 2, 1. Step 3: add: 32 + 16 = 48, plus 4 = 52, plus 1 = 53. Verify by decomposition: 53 − 32 = 21, 21 − 16 = 5, 5 − 4 = 1, remainder 1 — and indeed the bits read 1-1-0-1-0-1. This "subtract the largest power" check is the fastest way to confirm your answer without a calculator: if the subtraction walk reproduces your bit pattern, the addition was right. As a sanity bound, a 6-bit number can never exceed 63 (all ones: 32+16+8+4+2+1), so 53 passes the smell test.

Worked Example: 10110101

A full byte — eight bits, the size computers actually store. Step 1: place values: 128  64  32  16  8  4  2  1 over 1  0  1  1  0  1  0  1. Step 2: keep the values under the 1s: 128, skip 64, 32, 16, skip 8, 4, skip 2, 1. Step 3: add in pairs: 128 + 32 = 160, plus 16 = 176, plus 4 = 180, plus 1 = 181. Double-check by the bound: the maximum 8-bit value is 255, so 181 is plausible; and 181 − 128 = 53, which is exactly the number we converted in the previous example — the last six bits are 0110101, matching. Bytes like this are everywhere: 181 could be a shade of color, an ASCII-extended character code, or part of an IP address. If you want to see how text itself becomes bits, our guide to converting text to binary by hand walks the other direction.

Method 2: The Doubling Shortcut

For long strings, writing all the powers of 2 is tedious. The doubling method works left to right with no place-value table: start at 0, and for each bit, double your running total, then add the bit. Converting 110101: start 0 → bit 1: 0×2+1 = 1 → bit 1: 1×2+1 = 3 → bit 0: 3×2+0 = 6 → bit 1: 6×2+1 = 13 → bit 0: 13×2+0 = 26 → bit 1: 26×2+1 = 53. Same answer as before, and each step stays small. Why it works: doubling shifts your accumulated value one binary place left, and adding the bit sets the new lowest position — it is exactly how computers parse binary. Use place values when learning (they show why), and the doubling shortcut when converting quickly (it is harder to misalign). Both deserve a cross-check against our binary to decimal converter until the method feels automatic.

Bonus: Binary Fractions Like 0.101

Bits after the point use negative powers of 2: the positions are 1/2, 1/4, 1/8, 1/16, halving rightward. Convert 0.101 the same way — add the values under the 1s: 1/2 + 0/4 + 1/8 = 0.5 + 0.125 = 0.625. That is it; the method does not change, only the place values do. Two things to know: not every decimal fraction terminates in binary (0.1 in decimal is an endless 0.000110011… in binary, which is why floating-point math has rounding quirks), and the doubling shortcut does not apply cleanly to the fractional part — use place values there. For a mixed number like 101.101, convert each side separately and add: 5 + 0.625 = 5.625.

Binary to Decimal in Python

Programmers rarely convert by hand twice — Python's int() does it in one line: int('1011', 2) returns 11, and int('110101', 2) returns 53. The second argument is the base, so int('ff', 16) handles hex the same way. Going the other direction, bin(53) returns the string '0b110101' — strip the 0b prefix with [2:]. A handy one-liner converts a whole list: [int(b, 2) for b in ['1011', '110101', '10110101']] gives [11, 53, 181] — the same three answers we computed by hand, which is a satisfying cross-check. Warning: int() raises an error on any character other than 0 and 1, so sanitize input from users before converting.

4 Common Mistakes to Avoid

1. Reading in the wrong direction. The 1s place is on the right. Starting from the left assigns 128 to a bit worth 1 — always anchor at the rightmost bit. 2. Forgetting that 2⁰ = 1. Writing 2, 4, 8, 16… from the right overcounts every conversion by one place. 3. Dropping leading zeros carelessly. 001011 and 1011 are the same value (11), but 10110 is not — zeros on the left are harmless, zeros on the right double the value. 4. Mixing up binary and hex digits. In hex, the letter-position values go up to 15 per digit; in binary, a digit is only ever 0 or 1. If your "binary" contains a 2, you are reading a different base. When in doubt, convert with place values slowly once, then confirm with our free number base converter — agreement between two methods is the real proof.

Do it in one click

Convert between binary, decimal, and hex instantly — free, no signup.

Open the Free Tool →