What base12 (duodecimal) is
Base12, also called duodecimal or dozenal, uses twelve digits: 0 through 9, plus two additional symbols for ten and eleven. This tool follows the common convention of reusing A and B for those two extra digits, the same way hex reuses letters for 10 through 15, though other notations (using digits like ↊ and ↋, proposed by dozenal advocacy groups) exist specifically to avoid overlapping with hex's alphabet. Base12 isn't a computing-native base the way binary, octal, and hex are — nothing in transistor design or memory addressing favors twelve — so its presence here is mathematical and historical rather than tied to hardware.
Why twelve, mathematically
Twelve is a highly composite number: it divides evenly by 1, 2, 3, 4, and 6. Ten, by comparison, divides evenly only by 1, 2, and 5. That difference matters for fractions — a third of twelve is a whole number (4), while a third of ten is not — which is the central argument dozenal-numeral advocates make for base 12 being more convenient for everyday arithmetic and measurement than base 10. It's the same reason twelve shows up so often in pre-decimal measurement systems: twelve inches to a foot, twelve items to a dozen, twelve hours on a clock face, and historically, twelve pence to a shilling in pre-decimal British currency.
Converting between hex and base12
Unlike hex-to-binary or hex-to-octal, there's no clean bit-grouping shortcut between hex and base12, because 12 isn't a power of 2. The conversion goes through the underlying decimal value: to convert hex to base12 by hand, first convert the hex value to decimal using positional weighted-sum arithmetic, then repeatedly divide that decimal value by 12, recording each remainder as a base12 digit (using A for 10 and B for 11), until the quotient reaches zero. Reading the remainders from last to first gives the base12 result. This tool performs that same two-step conversion (through an arbitrary-precision integer) automatically in either direction.
A worked example
Take the hex value 0xFF, which is 255 in decimal. Dividing repeatedly by 12: 255 ÷ 12 = 21 remainder 3; 21 ÷ 12 = 1 remainder 9; 1 ÷ 12 = 0 remainder 1. Reading the remainders bottom-up gives193 in base12. Checking the reverse direction confirms it: (1 × 12²) + (9 × 12¹) + (3 × 12⁰) = 144 + 108 + 3 = 255, matching the original value.
Why decimal won anyway
Despite base 12's divisibility advantage, decimal became the near-universal standard for counting and arithmetic, almost certainly because humans have ten fingers. Counting systems that spread widely historically tend to track a body-based tally method rather than an abstract mathematical optimum, and once a base is embedded in language, education, and existing infrastructure, the cost of switching tends to outweigh the arithmetic convenience of an alternative. The metric system's adoption shows both sides of that tension: it standardized on powers of ten for consistency with existing counting, even though some duodecimal advocates argue a base-12 metric system would have made thirds and quarters easier to express without repeating decimals.
Digit symbols are also not fully standardized for base12 the way they are for hex. This tool uses A and B for ten and eleven because that mirrors hex's already-familiar convention and avoids introducing unfamiliar glyphs, but dedicated dozenal literature often uses other symbols specifically to avoid implying any relationship to hexadecimal, since the two bases are unrelated mathematically (12 is not a power of 2, so there's no clean bit-level correspondence the way there is between hex, octal, and binary).
Where base12 actually appears
Base12 has essentially no role in mainstream software or hardware — no processor architecture, file format, or common protocol uses it as an internal representation. Its practical relevance today is mostly historical and educational: understanding pre-decimal measurement and currency systems, following dozenal-numeral advocacy (organizations like the Dozenal Society have promoted base12 adoption since the 1940s on the grounds described above), and as a teaching example for demonstrating that positional number systems work identically regardless of the base chosen — the same weighted-sum and repeated-division algorithms used for hex and decimal apply without modification. This tool is included for that reason: as a reference implementation of general-purpose base conversion, distinct from the byte-aligned bases (binary, octal, hex) that map directly onto computer hardware.
If you're working with hex values from a program or file and need a base12 equivalent for a puzzle, teaching example, or dozenal-system project, this tool handles the two-step conversion so it doesn't need to be done by hand — but there's no expectation that base12 output will be recognized by any standard library, file format, or protocol the way hex, binary, or Base64 output would be.