How does binary to hex conversion work?
Group the bits into nibbles (4-bit groups) starting from the right, then map each nibble to one hex digit. 0000 = 0, 0001 = 1, … 1001 = 9, 1010 = A, 1011 = B, 1100 = C, 1101 = D, 1110 = E, 1111 = F. So 11111111 splits into 1111 1111 = FF, and 1100101011111110 splits into 1100 1010 1111 1110 = CAFE.
Why group bits from the right?
Positional notation gives the rightmost bit the lowest place value. Grouping from the right ensures each nibble corresponds to the correct power-of-16 position. If the bit count is not a multiple of 4, the leftmost group is padded with zeros — which does not change the value, only the visual width.
What if my binary length is not a multiple of 4?
The tool pads the leftmost nibble with zeros so the grouping aligns from the right. For example, 10101 becomes 0001 0101 = 15. This is mathematically identical to the original — leading zeros never change a number's value.
Does the input accept a 0b prefix?
Yes. The converter accepts 0b11111111 or just 11111111 — both produce FF. Whitespace is also stripped. Anything other than 0, 1, or the 0b prefix triggers an error.
Why is hex such a good shorthand for binary?
Because 16 = 2^4, every hex digit packs exactly four binary bits. That perfect alignment means a 32-bit register fits in 8 hex digits, a byte in 2 hex digits, and so on — no padding tricks. Hex is dense, byte-aligned, and trivially convertible by hand once you know the 16-entry nibble table.
Is there a length limit on the binary input?
For binary-to-hex conversion itself, no — the tool processes any length nibble by nibble. The decimal and octal columns are only filled in for inputs of 53 bits or fewer (the JavaScript safe-integer range). Longer values still convert to hex correctly; the decimal column simply shows a dash.
How is the hex case set on output?
Output uses uppercase hex by default to match the dominant convention in C, Java, hardware specs, and protocol documentation. If you need lowercase (CSS color codes, Unix tools), use String.toLowerCase() on the result — the underlying value is identical.
Is the data sent to a server?
No. All conversion happens in JavaScript inside your browser. Open DevTools → Network and confirm zero requests when you click Convert. Safe for internal IDs, secret tokens, hashes, or proprietary numeric data.