How does hex to binary conversion work?
Each hex digit maps directly to a 4-bit binary nibble. 0 = 0000, 1 = 0001, 2 = 0010, … 9 = 1001, A = 1010, B = 1011, C = 1100, D = 1101, E = 1110, F = 1111. To convert any hex string, replace every digit with its 4-bit pattern and concatenate. So FF becomes 1111 1111 = 11111111, and CAFE becomes 1100 1010 1111 1110 = 1100101011111110.
Why is each hex digit exactly 4 bits?
Because 16 = 2^4. Hexadecimal is base-16, so a single hex digit can represent 16 distinct values — exactly what 4 binary bits encode. That perfect alignment is why hex is the canonical shorthand for binary in computing: one byte is always two hex digits, four bytes is always eight hex digits, no padding tricks required.
Does the input accept 0x or # prefixes?
Yes. The converter strips a leading 0x (programmer convention) or # (CSS color convention) before parsing. So 0xFF, #FF, and FF all produce the binary 11111111. Anything other than the prefix and 0-9/A-F triggers a clear error.
Why does the output preserve leading zeros?
Each hex digit is expanded to a fixed 4-bit nibble, including leading zeros. So 0F becomes 00001111 (8 bits) instead of 1111 (4 bits). This preserves the original byte width, which matters when you are reading register dumps, protocol fields, or fixed-width memory layouts.
What is the largest hex I can convert?
Up to 14 hex digits (capped at Number.MAX_SAFE_INTEGER, 2^53 − 1) for the all-four-bases panel. The nibble-by-nibble binary expansion itself works for any length, since it operates one digit at a time. For arbitrary-length hex, BigInt is recommended: BigInt("0x" + hex).toString(2).
How do I read 32-bit register values?
A 32-bit register is exactly 8 hex digits (32 / 4 = 8). Paste the hex value (e.g. DEADBEEF) and the tool returns 11011110 10101101 10111110 11101111 — a 32-bit pattern grouped naturally into 4 bytes. Mentally split the binary into 4-bit groups and you can read each hex digit back without any math.
How is hex case handled?
Hex input is case-insensitive — 0xFF and 0xff produce the same binary. The displayed hex echoes uppercase by default to match the dominant convention in C, Java, hardware specs, and protocol documentation. Lowercase appears more often in CSS color codes and Unix tools, but they are mathematically 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.