User Rating 0.0 ★★★★★
Total Usage 0 times
0b
Enter only 0s and 1s. Max value: 3,999,999 in decimal.
Enter a binary number above to see the Roman numeral
Is this tool helpful?

Your feedback helps us improve.

★ ★ ★ ★ ★

About

Converting between binary and Roman numeral systems requires a two-stage transformation: base-2 to base-10, then base-10 to additive-subtractive Roman notation. Errors in either stage cascade silently. A misread binary digit doubles or halves the decimal intermediate, producing a completely wrong Roman output. This tool computes d = parseInt(b, 2) then decomposes d using the greedy algorithm against the standard 13-symbol Roman table extended with vinculum notation for values above 3,999. The conversion handles subtractive pairs (IV, IX, XL, XC, CD, CM) per modern convention, not the archaic additive form.

Standard Roman numerals cap at 3,999 (MMMCMXCIX). This tool extends to 3,999,999 using vinculum: an overline multiplies a symbol by 1,000. For example, 5,000 is represented as V with an overline. Note: zero has no Roman representation. Binary input 0 returns an explicit error rather than a misleading empty string. Pro tip: verify your binary source uses unsigned integers. Signed binary (two's complement) produces negative decimals, which Roman numerals cannot express.

binary to roman number converter binary converter roman numerals numeral systems base conversion

Formulas

The conversion proceeds in two deterministic stages. Stage 1 converts the binary string b of length n into its decimal equivalent d:

d = n−1∑i=0 bi ⋅ 2i

where bi is the i-th bit from the right (LSB at position 0).

Stage 2 applies the greedy decomposition algorithm. Given the Roman value-symbol table R sorted in descending order of value:

R = {(1000, M), (900, CM), (500, D), (400, CD), (100, C), (90, XC), (50, L), (40, XL), (10, X), (9, IX), (5, V), (4, IV), (1, I)}

For each pair (v, s) in R: while d â‰Ĩ v, append s to output and subtract d ← d − v. The algorithm terminates when d = 0. The vinculum extension multiplies each base symbol by 1,000 and renders it with an overline (e.g., VĖ… = 5,000).

Reference Data

BinaryDecimalRomanNotes
11IUnit
102IIAdditive
113IIIMax repeat of I
1004IVSubtractive pair
1015VQuinary symbol
10019IXSubtractive pair
101010XDecimal symbol
10100040XLSubtractive pair
11001050LHalf-centum
101101090XCSubtractive pair
1100100100CCentum
110000100388CCCLXXXVIIILongest standard < 1000
110010000400CDSubtractive pair
111110100500DHalf-mille
1110000100900CMSubtractive pair
11111010001000MMille
110000110101562MDLXIIYear example
111110100002000MMTwo thousand
111110110012009MMIXYear example
111111001002020MMXXYear example
111111001012025MMXXVCurrent year
1100001101013125MMMCXXV55
1111100111113999MMMCMXCIXMax standard Roman
10011100010005000VĖ…Vinculum (×1000)
1001110001000010000XĖ…Vinculum
111101000010010000001000000MĖ…One million vinculum

Frequently Asked Questions

The Roman numeral system has no symbol for zero. It was developed before the concept of zero was adopted in Western mathematics. The decimal value 0 is outside the valid domain of the Roman numeral function, so the converter explicitly flags it rather than returning a misleading empty string.
Standard Roman numerals represent values from 1 to 3,999. Vinculum notation places an overline above a symbol to multiply its value by 1,000. For example, VĖ… = 5,000 and XĖ… = 10,000. This extends the representable range to 3,999,999. The converter applies vinculum automatically when the decimal intermediate exceeds 3,999.
Leading zeros do not affect the decimal value. Binary 00001010 and 1010 both equal decimal 10, which converts to X. The converter strips leading zeros during display of the decimal intermediate but accepts them in input without error.
The converter supports binary values that produce decimals up to 3,999,999 (the vinculum limit). In binary, that is 1111010000100100111111 (22 bits). Inputs producing values above this threshold trigger an explicit range error because no standard Roman representation exists beyond this point.
The subtractive notation used here follows the modern conventional form codified in most reference works and ISO recommendations. Six subtractive pairs are recognized: IV (4), IX (9), XL (40), XC (90), CD (400), and CM (900). Historical inscriptions sometimes used additive forms (IIII for 4), but this tool follows the modern convention exclusively.
No. Roman numerals have no concept of negative values. This converter treats all input as unsigned binary. If you input a two's complement negative representation (e.g., a 32-bit signed integer), the converter will interpret it as a large unsigned positive number, which may exceed the 3,999,999 limit. Verify your binary source uses unsigned encoding.