Convert any number into binary, octal, decimal, hexadecimal and a custom base of your choice at the same time – with exact BigInt arithmetic, so even very large values never lose precision.
Show calculation steps
Processed privately in your browser — nothing you paste is uploaded, logged or stored.
One number, every base at once
Most converters answer one question at a time. This one answers five: type a single value and read its binary, octal, decimal, hexadecimal and custom-base forms together, all derived from the same exact integer. That side-by-side view is the fastest way to internalise how the bases relate — the binary row groups into the hex row four bits at a time, and into the octal row three bits at a time, right before your eyes.
Under the hood every representation is positional notation: the value is a sum of digits weighted by powers of the base. The bases differ only in how many digit symbols exist and therefore how fast the place values grow.
Worked example
Input: 173 (decimal) Binary 1010 1101 (128+32+8+4+1) Octal 255 (2×64 + 5×8 + 5) Decimal 173 Hex AD (10×16 + 13) Base 12 125 (1×144 + 2×12 + 5)
Reading the relationships
Notice that hex AD and binary 1010 1101 carry identical information: A is 1010 and D is 1101. Octal 255 groups the same bits in threes: 10 101 101 → 2 5 5. Decimal is the odd one out — 10 is not a power of two, so no clean grouping exists, which is exactly why programmers prefer hex or octal when the underlying bits matter.
| Power | Value |
|---|---|
| 2^0 | 1 |
| 2^1 | 2 |
| 2^2 | 4 |
| 2^3 | 8 |
| 2^4 | 16 |
| 2^5 | 32 |
| 2^6 | 64 |
| 2^7 | 128 |
| 2^8 | 256 |
| 2^9 | 512 |
| 2^10 | 1024 |
Where a multi-base view earns its keep
Debugging embedded registers (datasheet in hex, logic analyser in binary, spec in decimal), teaching positional notation, checking subnet masks, and reading file permissions all involve juggling two or three bases for one value. Seeing them together eliminates the transcription step where errors creep in.
Precision and privacy
Arithmetic is BigInt-exact: a hundred-digit number converts without rounding, where double-precision tools corrupt everything past 2⁵³. Fractions are out of scope here — the Fractional Base Converter handles radix points with repeat detection. Conversion happens entirely in your browser; the value is never transmitted.
How to use the Number System Converter
- Type your number into the input panel and pick which base it is written in (decimal by default).
- Choose an extra custom output base between 2 and 36 if you want one beyond the four standards.
- Click "Convert to all bases" to see binary, octal, decimal, hexadecimal and your custom base together.
- Open "Show calculation steps" to see how the conversion was derived from your exact input.
- Copy any row, or the whole panel, with the copy button.
Frequently asked questions
How does the converter produce all the bases at once?
It first reads your input exactly – using arbitrary-precision integers, not floating point – and then derives each output base independently by repeated division. Because every row comes from the same exact value, the five representations are always consistent with each other.
Which input bases are supported?
Binary, octal, decimal and hexadecimal as input, selected with the "Input base" option. For anything more exotic – ternary in, base 27 out – use the Any Base Converter, which accepts every base from 2 to 36 on both sides.
Is there a size limit on the number?
No practical one. The tool uses BigInt arithmetic, so a 100-digit decimal converts exactly – unlike converters built on 64-bit floats, which silently corrupt anything above 9,007,199,254,740,991 (2^53 − 1).
Can I convert negative numbers?
Yes – a leading minus sign passes through, and each output base shows the same magnitude with the sign in front. If you want the two's-complement BIT PATTERN of a negative number instead, that is a different question: use the Decimal to Signed Binary converter.
Why does 173 become 1010 1101 with a space in it?
Binary output is grouped in fours purely for readability – the space is not part of the number. Nibble grouping also makes the hex relationship visible: 1010 is A and 1101 is D, so 173 is 0xAD.
Does my number leave the browser?
No. The conversion runs in JavaScript on your device; nothing you type is transmitted, logged or stored, and the analytics only ever record that a conversion happened – never the value.
How can I verify a result by hand?
Pick the binary row and add up the place values of the 1 bits. For 173 = 10101101, that is 128 + 32 + 8 + 4 + 1 = 173. If the binary row checks out, the others must too, because all are derived from the same exact integer.