About the Handiwork Base Converter
The Base Converter converts numbers between binary, octal, decimal, hexadecimal, and any base from 2 to 36. Enter a value in one base and see it in all the others at once — indispensable for programming, debugging, and working with low-level data.
How to use the Handiwork Base Converter
- Enter a number and select its current base.
- View the equivalent in binary, octal, decimal, and hex.
- Convert to any custom base from 2 to 36.
Common number bases
Binary (base 2) is how computers store data, hexadecimal (base 16) compactly represents bytes and colors, octal (base 8) appears in file permissions, and decimal (base 10) is everyday counting. Converting between them is routine when reading memory dumps, color codes, or bit flags.
Why hexadecimal is everywhere
Each hex digit maps neatly to four binary bits, so two hex digits represent exactly one byte. That tidy relationship is why hex is used for memory addresses, color codes (like #FF8800), and encoding binary data in a human-readable way.
How the conversion works internally
The input is parsed as an integer in its source base and held as a single JavaScript number, then re-rendered into each target base using standard positional-notation formatting. Because every output is derived from that one shared value, all four displayed bases — and any custom base from 2 to 36 — always stay consistent with each other.
Precision limits on very large numbers
JavaScript numbers only represent integers exactly up to 2^53 − 1 (9,007,199,254,740,991). The converter checks for this and shows an error rather than a silently wrong result once a value would exceed that safe range — a real constraint for very large binary or hexadecimal values, such as full 64-bit numbers, which fall outside it.
Continue this workflow
Use the adjacent tool when the next step calls for a different input, output, or method.
Assumptions and limitations
- Values are limited to JavaScript’s safe integer range (up to 2^53 − 1). Larger numbers — including full 64-bit values — are rejected with an error rather than converted incorrectly.
- Only whole numbers are supported; fractional or negative-exponent values in a given base are not handled.
- Input must use only the digit characters valid for its declared base (for example, only 0–1 for binary); the tool does not attempt to auto-detect the base from a prefix like 0x or 0b.
Sources and standards
These authoritative references were used to verify the method and guidance on this page.
Frequently asked questions
What does base 16 (hexadecimal) mean?
Hexadecimal uses sixteen symbols (0–9 then A–F). It is popular in computing because each digit represents four binary bits exactly.
Can I convert to an unusual base like 36?
Yes. You can convert to any base from 2 to 36, where digits beyond 9 are represented by the letters A–Z.
Why did I get a "number too large" error?
The value exceeds JavaScript’s safe integer limit of 2^53 − 1 (about 9 quadrillion). Beyond that point, floating-point numbers cannot represent every integer exactly, so the tool refuses the conversion instead of risking a silently wrong result.
Can I convert negative or decimal numbers?
No. The converter works with whole, non-negative integers in each base. Fractional and negative values are not currently supported.