Visual Tools
Calculators
Tables
Mathematical Keyboard
Converters
Other Tools


Base Conversion Visualizer

How to use
  1. Type a whole number from 00 to 144144 in Number; the grid on the left fills that many cells, each carrying its count. Learn more about the Number box
  2. Type a base from 22 to 3636 in Base; the cubes regroup into one row per digit and the result line prints the number in that base. Learn more about the Base box
  3. Reset clears both boxes, the grid, the rows and the result line. Learn more about Reset
  4. Each row on the right is labelled with its place value, such as 25(32)2^5(32), and ends with a count such as ×1\times 1: the number of groups in the row is the digit for that place. Learn more about reading the rows
  5. The result line under the picture reads, for example, 100 in base 8 is: 144; digits above 99 print as lower-case letters, so 4545 in base 1616 shows 2d. Learn more about the result line
  6. A number above 144144 or a base outside 22 to 3636 replaces the result line with a red message. Learn more about the red message
  7. The note at the bottom follows the base: 22, 88, 1010 and 1616 each have their own, every other base shares one, and each note links to the section on its base. Learn more about the note


Related Pages

Base Converter
Base Convertion Table

This visual converter helps you understand base conversion through cube representations. For larger numbers or pure calculation needs, use ourFull Base Converterwhich handles unlimited number sizes without visual constraints.
Type a whole number up to 144 and a base from 2 to 36. The grid on the left holds the number as cubes; the right side regroups the same cubes by powers of the base, one row per digit. What a base is · Repeated division








Key Terms

Base (or radix) — the number of distinct digits a number system uses, and the factor by which each place is worth more than the one to its right. Decimal is base 1010, binary base 22, octal base 88, hexadecimal base 1616.

Digit — one symbol of the system. Base bb uses the digits 00 to b−1b - 1; above 99 the letters AA to ZZ stand in, so base 1616 runs 00 to FF and base 3636 uses all ten digits and all twenty-six letters.

Place value — the weight of a position: b0,b1,b2,…b^0, b^1, b^2, \ldots reading from the right. The digit in a place contributes digit times weight.

Positional notation — writing a number as a string of digits whose meaning depends on position, dk⋯d1d0=∑idi bid_k \cdots d_1 d_0 = \sum_i d_i\, b^i.

Repeated division — the standard way to convert from decimal to base bb: divide by bb, record the remainder, repeat with the quotient until it reaches 00, then read the remainders from last to first.

Expansion — the reverse direction: multiply each digit by its place value and add, which converts any base back to decimal.

Getting Started with the Visualizer

DemoNumber, Base and Reset
Step 0 of 5
Type a number, choose a base, and the tool shows how the number is rebuilt digit by digit in that base.

• Number takes a whole number from 00 to 144144, entered as an ordinary decimal
• Base takes any base from 22 to 3636; binary, octal and hexadecimal are the usual choices, but any value in the range works, and the letters AA to ZZ appear as digits above 99
• The visualization lays out the conversion step by step, so each digit of the result can be traced back to the operation that produced it
• Reset clears both fields and the display

The limit of 144144 is deliberate: it is 12212^2, large enough for every base in the range to show at least two digits and small enough for every step to fit on screen. Try the same number in bases 22, 88 and 1616 in a row; the binary and hexadecimal results line up in groups of four bits, which the grouping section explains.

Reading the Grid and the Rows

DemoReading the rows: 100 in four bases
Step 0 of 4
The tool draws the same number twice, once as a count and once as digits.

The grid on the left has 144144 cells, twelve by twelve. Typing a number fills that many cells, each carrying its count from 11 up, so the grid is the number before any base is chosen.

The rows on the right regroup the same cubes by powers of the base, largest first. Each row is labelled with the base, the power and the group size, so 81(8)8^1(8) is the row of groups of eight, and ends with a count such as ×4\times 4. That count is the digit for the place. For 100100 in base 88 the rows read 82(64) ×18^2(64)\ \times 1, 81(8) ×48^1(8)\ \times 4 and 80(1) ×48^0(1)\ \times 4, so 100=1448100 = 144_8. A row with ×0\times 0 is drawn empty and still counts: it holds its place open.

The result line under the picture prints the string, for example 100 in base 8 is: 144. Digits above 99 print as lower-case letters: 4545 in base 1616 shows 2d, which is 2D162D_{16}.

The red message takes the place of the result line when the number is above 144144 or the base is outside 22 to 3636.

The note at the bottom follows the base. Bases 22, 88, 1010 and 1616 each have their own note, every other base shares one, and each note links to the section on this page that treats its base. The arithmetic behind the counts is in Repeated Division.

What a Base Is

Every positional number system works the same way. A base bb has bb digits, 00 through b−1b - 1, and each place is worth bb times the place to its right. The string dkdk−1⋯d1d0d_k d_{k-1} \cdots d_1 d_0 stands for

dk bk+dk−1 bk−1+⋯+d1 b+d0d_k\, b^k + d_{k-1}\, b^{k-1} + \cdots + d_1\, b + d_0


In decimal, b=10b = 10, and 472472 means 4⋅100+7⋅10+24 \cdot 100 + 7 \cdot 10 + 2. In binary, b=2b = 2, and 101101 means 1⋅4+0⋅2+1=51 \cdot 4 + 0 \cdot 2 + 1 = 5. The digits are different, the rule is not.

Decimal is a convention, not a property of numbers. The quantity five is the same whether it is written 55, 1012101_2, 12312_3 or 5165_{16}; only the notation changes. That is the whole idea the visualizer is built to show: a base conversion changes how a number is written, never what it is.

Two facts follow. A number needs about log⁡bN\log_b N digits in base bb, so small bases give long strings and large bases short ones. And the largest kk-digit number in base bb is bk−1b^k - 1, all digits at their maximum, just as 999=103−1999 = 10^3 - 1. The familiar case, decimal, is treated first below with the tool frozen on 100100.

Decimal: Base 10

Base 1010 is the identity conversion: the digits the tool prints are the digits you typed. The visualizer still regroups the cubes, and that is the point. 100100 becomes one group of 102=10010^2 = 100 cubes, zero groups of 1010, and zero single cubes, which is exactly what the string 100100 says.
Number: 100Base: 10123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100102(100)×1101(10)×0100(1)×0100 in base 10 is: 100
100 in base 10, frozen

All one hundred cubes sit in a single 10² group and the 10¹ and 10⁰ rows are empty: the digits 1, 0, 0 read straight off the picture.

Reading the rows. The result structure lists the powers of 1010 from the largest that fits downward: 10210^2 with ×1\times 1, 10110^1 with ×0\times 0, 10010^0 with ×0\times 0. Each digit is a count of groups, and the zeros are as informative as the one: they hold the places open.

Decimal feels like the way numbers are only because it is the base everyone learns first. Enter 100100 with base 1010, then change the base to 22 or 1616 and watch the same one hundred cubes regroup; nothing about the quantity changes, only the group sizes. The general rule is in What a Base Is, and the reverse direction, digits back to a count, in Expansion.

Because base 1010 uses ten digit symbols, 00 to 99, a single decimal digit can hold at most nine groups of any size; the tenth group is what forces a carry into the next place. The binary picture makes the same rule visible with only two symbols.

Converting from Decimal: Repeated Division

To write a decimal number NN in base bb, divide by bb and keep the remainder, then divide the quotient by bb and keep that remainder, and continue until the quotient is 00. The remainders, read from the last one obtained to the first, are the digits.

For N=45N = 45 in base 22:

• 45÷2=2245 \div 2 = 22 remainder 11
• 22÷2=1122 \div 2 = 11 remainder 00
• 11÷2=511 \div 2 = 5 remainder 11
• 5÷2=25 \div 2 = 2 remainder 11
• 2÷2=12 \div 2 = 1 remainder 00
• 1÷2=01 \div 2 = 0 remainder 11

Reading upward, 45=101101245 = 101101_2.

The method works because each division strips off the lowest place. The first remainder is the units digit, since N=b⋅q+rN = b \cdot q + r leaves rr in the b0b^0 place and pushes everything else one place up. The visualizer shows exactly this sequence, which is why the digits appear in reverse order of the steps.

The same steps in base 1616 finish sooner: 45÷16=245 \div 16 = 2 remainder 1313, then 2÷16=02 \div 16 = 0 remainder 22, so 45=2D1645 = 2D_{16}, with DD standing for thirteen.

Converting to Decimal: Expansion

The reverse direction needs no division. Multiply each digit by its place value and add.

1011012=1⋅32+0⋅16+1⋅8+1⋅4+0⋅2+1⋅1=45101101_2 = 1 \cdot 32 + 0 \cdot 16 + 1 \cdot 8 + 1 \cdot 4 + 0 \cdot 2 + 1 \cdot 1 = 45


2D16=2⋅16+13⋅1=452D_{16} = 2 \cdot 16 + 13 \cdot 1 = 45


A faster hand method, Horner's scheme, works left to right: start with the leading digit, and for each further digit multiply the running total by the base and add the digit. For 1011012101101_2: 11, then 2⋅1+0=22 \cdot 1 + 0 = 2, then 2⋅2+1=52 \cdot 2 + 1 = 5, then 1111, then 2222, then 4545. It uses one multiplication per digit and never needs the powers of the base written out.

Conversion between two non-decimal bases is done in two hops through decimal: expand the source, then divide into the target. The one shortcut is between bases that are powers of the same number, treated in the grouping section.

Binary, Octal and Hexadecimal

Demo144 in binary, octal and hexadecimal
Step 0 of 4
Three bases dominate computing, and they are related by grouping.

Binary, base 22, is the native language of digital hardware: each digit is one bit, on or off. It is also the longest notation; 144144 takes eight bits, 10010000210010000_2.

Octal, base 88, and hexadecimal, base 1616, are shorthand for binary. Because 8=238 = 2^3 and 16=2416 = 2^4, one octal digit is exactly three bits and one hexadecimal digit is exactly four, so conversion between them and binary needs no arithmetic, only grouping. Split 10010000210010000_2 into fours from the right, 1001 00001001\ 0000, and read each group: 99 and 00, so 901690_{16}. Split into threes, 10 010 00010\ 010\ 000, and read 22, 22, 00: 2208220_8.

Hexadecimal won because a byte is eight bits and therefore exactly two hex digits, from 0000 to FFFF. Memory addresses, colour codes and hash values are written in hex for that reason.

Set the visualizer to base 22, then base 1616, for the same number and check the grouping by eye. The tool computes both by repeated division, but the results line up as the grouping rule predicts. Each of the three has a dedicated section with the tool frozen on 100100: binary, octal and hexadecimal.

Binary: Base 2

In base 22 each digit is a bit, 00 or 11, so every row of the result structure holds either one group or none. 100100 needs seven bits: 100=64+32+4100 = 64 + 32 + 4, and the visualizer shows exactly those three groups, at 262^6, 252^5 and 222^2, with empty rows at 242^4, 232^3, 212^1 and 202^0.
Number: 100Base: 212345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910026(64)×125(32)×124(16)×023(8)×022(4)×121(2)×020(1)×0100 in base 2 is: 1100100
100 in base 2, frozen

Seven rows, one per power of two from 64 down to 1: the 64, 32 and 4 rows hold one group each, the others none, giving 1100100.

Why so many rows. A base bb needs about log⁡bN\log_b N digits, and log⁡2100≈6.6\log_2 100 \approx 6.6, so seven. Binary is the longest notation the tool offers; the same 100100 takes three digits in octal and two in hexadecimal.

By repeated division. 100→50100 \to 50 r 00, 50→2550 \to 25 r 00, 25→1225 \to 12 r 11, 12→612 \to 6 r 00, 6→36 \to 3 r 00, 3→13 \to 1 r 11, 1→01 \to 0 r 11; read upward, 110010021100100_2. The method is explained in Repeated Division. Each remainder is the bit for one row of the picture.

Binary is the native notation of digital hardware, where a bit is a switch that is on or off. The grouping that turns it into the two shorthand bases is described in Binary, Octal and Hexadecimal.

Octal: Base 8

In base 88 the digits run 00 to 77 and the place values are 1,8,64,512,…1, 8, 64, 512, \ldots. 100=1⋅64+4⋅8+4100 = 1 \cdot 64 + 4 \cdot 8 + 4, so the visualizer shows one 828^2 group, four 818^1 groups and four single cubes: 1448144_8.
Number: 100Base: 812345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910082(64)×181(8)×480(1)×4100 in base 8 is: 144
100 in base 8, frozen

Three rows: one group of 64, four groups of 8 and four single cubes, so the digits are 1, 4, 4.

Three bits per digit. Because 8=238 = 2^3, each octal digit is exactly three binary digits. Split the binary string 110010021100100_2 into threes from the right, 1 100 1001\ 100\ 100, and read 11, 44, 44; no arithmetic needed. The four groups of 88 in the picture are the 100100 in the middle of the bit string.

By repeated division. 100→12100 \to 12 r 44, 12→112 \to 1 r 44, 1→01 \to 0 r 11: the remainders 4,4,14, 4, 1 read upward give 1448144_8, as in the worked example.

Octal was the programmer's shorthand before bytes settled at eight bits; it survives in file permissions and a few older systems. Hexadecimal, four bits per digit, took over because it divides a byte evenly.

Hexadecimal: Base 16

Base 1616 uses sixteen digit symbols, 00 to 99 and then AA to FF for ten to fifteen. 100=6⋅16+4100 = 6 \cdot 16 + 4, so the visualizer shows six 16116^1 groups and four single cubes: 641664_{16}. Both digits happen to be below ten; try 4545 to see a letter, 2D162D_{16}.
Number: 100Base: 16123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100161(16)×6160(1)×4100 in base 16 is: 64
100 in base 16, frozen

Two rows: six groups of 16 and four single cubes, so 100 is 64 in hexadecimal, with no letter digit needed this time.

Four bits per digit. 16=2416 = 2^4, so one hexadecimal digit is four bits. Grouping 110010021100100_2 into fours from the right, 110 0100110\ 0100, reads 66 and 44 directly. A byte is eight bits and therefore exactly two hex digits, from 0000 to FFFF, which is why memory addresses, colour codes and hashes are written in hex.

By repeated division. 100→6100 \to 6 r 44, 6→06 \to 0 r 66: two steps, the shortest of the four conversions in the worked example.

Compare the picture with octal: the same hundred cubes, but the larger base makes bigger groups and fewer rows. The largest base the tool accepts, base 36, pushes this to the limit.

Bases Beyond Sixteen

Nothing in the rule stops at 1616. Base bb needs bb digit symbols, and the convention is to continue past 99 with the letters of the alphabet: A=10A = 10, B=11B = 11, up to Z=35Z = 35. Base 3636 therefore uses every digit and every letter, which is the largest base with a standard set of symbols and the upper limit of the visualizer.

Large bases give short strings. In base 3636, 144144 is 403640_{36}, since 4⋅36+0=1444 \cdot 36 + 0 = 144. Short strings of letters and digits are useful wherever a number has to be typed or read by a person: shortened links, licence keys, and identifiers are often base-3636 or base-6262 encodings of large integers.

Small bases have their uses too. Base 33 appears in balanced ternary and in some logic circuits; base 1212 has a long history in measurement because 1212 divides evenly by 22, 33, 44 and 66; base 6060, inherited from Babylon, still runs our minutes and seconds.

The point of allowing any base from 22 to 3636 is that the visualizer never suggests decimal is special. The same steps produce the same number in every base. The largest case has its own section, Base 36, with the tool frozen on 100=2S36100 = 2S_{36}.

Base 36: Every Digit and Every Letter

Base 3636 is the largest base the visualizer accepts, because it is the largest with a standard set of symbols: the ten digits and the twenty-six letters, A=10A = 10 up to Z=35Z = 35. 100=2⋅36+28100 = 2 \cdot 36 + 28, and 2828 is written SS, so the result is 2S362S_{36}.
Number: 100Base: 36123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100361(36)×2360(1)×28100 in base 36 is: 2S
100 in base 36, frozen

Two rows: two groups of 36 and twenty-eight single cubes; the count 28 has no numeral of its own, so the tool writes the letter S.

Reading the picture. The 36136^1 row holds two groups of 3636 cubes and the 36036^0 row holds twenty-eight single cubes. A row can hold up to thirty-five groups before it must carry, which is why the second digit needs a letter: there are not enough numerals for a base this large.

By repeated division. 100→2100 \to 2 r 2828, 2→02 \to 0 r 22; the remainders 2828 and 22 become the digits SS and 22. Large bases give short strings, which is why identifiers and short links are often base-3636 encodings of large integers; see Bases Beyond Sixteen.

Any base between 1717 and 3636 behaves the same way, with letters appearing as soon as a digit exceeds 99. Type 100100 with base 2020 or 2525 to see 502050_{20} and 402540_{25}, both letter-free, then base 3030 for 3A303A_{30}.

Worked Example

Convert 100100 to four bases by repeated division.

Base 2. 100→50100 \to 50 r 00, 50→2550 \to 25 r 00, 25→1225 \to 12 r 11, 12→612 \to 6 r 00, 6→36 \to 3 r 00, 3→13 \to 1 r 11, 1→01 \to 0 r 11. Reading the remainders upward: 100=11001002100 = 1100100_2.

Base 8. 100→12100 \to 12 r 44, 12→112 \to 1 r 44, 1→01 \to 0 r 11. So 100=1448100 = 144_8.

Base 16. 100→6100 \to 6 r 44, 6→06 \to 0 r 66. So 100=6416100 = 64_{16}.

Base 36. 100→2100 \to 2 r 2828, 2→02 \to 0 r 22. The digit for 2828 is SS, so 100=2S36100 = 2S_{36}.

Check by expansion: 1⋅64+1⋅32+0+0+1⋅4+0+0=1001 \cdot 64 + 1 \cdot 32 + 0 + 0 + 1 \cdot 4 + 0 + 0 = 100; 1⋅64+4⋅8+4=1001 \cdot 64 + 4 \cdot 8 + 4 = 100; 6⋅16+4=1006 \cdot 16 + 4 = 100; 2⋅36+28=1002 \cdot 36 + 28 = 100.

Notice the grouping between binary and the two power-of-two bases: 1 100 1001\ 100\ 100 in threes reads 11, 44, 44, and 110 0100110\ 0100 in fours reads 66, 44. Enter 100100 in the visualizer with each base to watch the same remainders appear.

Common Mistakes

Base conversion is mechanical, and the errors are mechanical too.

• Reading the remainders in the order they were produced — the first remainder is the units digit, so the digits must be read from the last remainder to the first
• Stopping before the quotient reaches zero — the last division, with quotient 00, produces the leading digit; skipping it drops the most significant digit
• Using a digit that is too large for the base — base bb has digits 00 to b−1b - 1 only; there is no digit 22 in binary and no digit 88 in octal
• Forgetting that letters are digits — in hexadecimal AA to FF are the numbers ten to fifteen, not text, and 1A161A_{16} is 2626
• Grouping bits from the left — grouping into threes or fours must start from the right, the units end, padding with zeros on the left if needed
• Treating the conversion as changing the number — 4545, 1011012101101_2 and 2D162D_{16} are one quantity written three ways; arithmetic on any of them gives the same answers

Where Base Conversion Appears

Computing — every number in a processor is binary, and programmers read it as hexadecimal; converting between the two is daily work in debugging, networking and graphics, where colours are three hex bytes.

Data encoding — identifiers, short links and keys are large integers written in base 3636 or base 6464 so that they are short enough to type.

Digital electronics — octal and binary describe the states of switches and the addresses of memory cells.

Number theory — divisibility rules are facts about base 1010; the rule for 99, that a number is divisible by 99 when its digit sum is, works because 10≡1(mod9)10 \equiv 1 \pmod 9, and a different base has different rules.

Measurement and time — base 6060 for angles and time, base 1212 for dozens and inches, base 2020 in the French word for eighty; the history of counting is a history of bases.

Teaching place value — conversion is the cleanest way to see what the decimal system actually does, since the mechanism is easier to notice in an unfamiliar base than in the one everyone has used since childhood.