Binary, octal, decimal, hex and any base to 36, exact at any size, with two's complement
Runs in your browser. Nothing you type is sent anywhere. Updated on 24 Oct 2026.Binary, octal, decimal and hexadecimal are one number written four ways, and any base up to 36 works here. Values stay exact at any size, so a 64-bit integer does not lose its last digits, and negative numbers show their complement form too.
Type a number into any row: Binary, Octal, Decimal, Hexadecimal or a custom Base from 2 to 36.
Read the same value in every other row; typing in a different row converts from that one.
Pick 8-bit, 16-bit, 32-bit or 64-bit under Two's complement to see the signed and unsigned readings.
Press the copy icon beside the row you need; Ctrl+Enter copies the decimal value.
This number base converter turns an integer from any base between 2 and 36 into binary, octal, decimal, hexadecimal and a base of your choice at the same time. Type into any row and the others follow, grouped for reading: binary and hex in fours, decimal with thousands separators.
Programmers use it to read a hex error code or memory address as a number, to write a bit mask in binary, to decode a base 36 short ID, or to see what a register value means as a signed integer. Students use it to check base conversion homework and to understand two's complement, the way computers store negative numbers.
The two's complement panel shows the 8, 16, 32 or 64 bit pattern for a value, its hex form, and both the signed and unsigned readings. A negative number such as -5 becomes 1111 1011 in 8 bits; a positive value with the top bit set, such as 0xFFFFFFFF, is shown as -1 when read as a signed 32-bit integer. Values that do not fit the chosen width are flagged instead of silently wrapping.
All arithmetic uses JavaScript BigInt, so a 40-digit decimal or a 128-bit hex value converts exactly, with no rounding at 2 to the power 53 as ordinary numbers have. Input can include 0b, 0o or 0x prefixes, a minus sign, and spaces, underscores or commas between groups. Only whole numbers are converted; fractions are refused with a message. Nothing leaves your browser.
Related tools: Color Converter, Unix Timestamp Converter, Base64 Encoder.
Multiply each bit by the power of two for its position, counting from 0 on the right, and add the results. 1011 is 1x8 + 0x4 + 1x2 + 1x1, which is 11. Or type the binary number into the Binary row here and read the Decimal row; spaces between groups of bits are fine.
Each hex digit is worth 16 times the digit to its right, with A to F meaning 10 to 15. 0x1F is 1x16 + 15, which is 31. Paste the value, with or without 0x, into the Hexadecimal row and the decimal value appears, exact even for values far longer than 16 digits.
Two's complement is how computers store negative integers. In n bits, a negative number v is stored as 2 to the power n plus v, so -1 in 8 bits is 255, written 1111 1111. The top bit then acts as the sign. Choose a width of 8, 16, 32 or 64 bits to see the pattern and both readings.
Ordinary JavaScript numbers are floating point and lose precision above 9,007,199,254,740,991 (2 to the power 53, minus 1), so the last digits of a large hex or decimal value get rounded. This tool uses BigInt, which keeps every digit exact at any length up to 4,096 characters.
Any whole base from 2 to 36. Digits above 9 use letters: a is 10, f is 15, z is 35. Base 36 is common for short IDs and URL shorteners, base 32 for some encodings and base 3 or 12 in puzzles and teaching. Letters can be typed in upper or lower case.
No, only whole numbers. Fractional values do not convert cleanly between bases, because a short decimal such as 0.1 becomes an endless repeating binary fraction. The tool says so rather than guessing. For floating-point bit patterns, a dedicated IEEE 754 tool is the right choice.
Still stuck? Ask about Number Base Converter and anybody who knows can answer. No account needed.
Same job, other tools: Base58 Encoder and Decoder – Encode text or hex bytes to Base58 with the Bitcoin alphabet, or decode Base58 back.
On the related tools: TSV to JSON – Convert tab-separated values, such as a paste from Excel, into JSON.
Also works as: Binary to Decimal.
In the collection Developer Converters.