How it works
Converting a number from one base to another is an everyday task when reading a memory dump, checking permissions, debugging a binary protocol or decoding a color or error code. Type a number and the tool shows it at once in decimal, hexadecimal, binary and octal, with digits grouped for easy reading: hex and binary in groups of four, and decimal with a thousands separator.
The input base is detected from the prefix, as in most programming languages: 0x for hex, 0b for binary and 0o for octal. If you prefer, set the base manually. Each representation is copied with its prefix, ready to paste into code.
Numbers are handled with BigInt, so there is no practical size limit and no loss of precision: a maximum uint64 or a 256-bit hash converts exactly, which Number cannot do above 2^53. You also see how many bits and bytes the value takes and, when it is a valid code point, the Unicode character it stands for, which helps identify an emoji or an invisible character from its code.
Everything is computed in your browser as you type.
Examples
A byte in every base
255
Decimal 255 Hexadecimal FF Binary 1111 1111 Octal 377 8 bits · 1 byte · U+00FF ÿ
A 64-bit integer without losing precision
18446744073709551615
Hexadecimal FFFF FFFF FFFF FFFF Octal 1777777777777777777777 64 bits · 8 bytes
Frequently asked questions
Is there a size limit?
Not in practice. Conversion uses BigInt, so 64-bit, 128-bit or larger integers convert without the rounding that Number suffers above 2^53.
How is the input base detected?
In auto mode the prefix decides: 0x is hex, 0b binary and 0o octal; without a prefix it is read as decimal. You can also set the base manually, for example to read ff without the 0x.
Are negative numbers supported?
Yes. The sign is kept in every representation; the tool does not apply two's complement.