Roman numeral converter
Convert between Arabic numbers and Roman numerals (1 – 3999) with strict standard-form validation, lowercase output, batch mode and a place-by-place breakdown.
Runs in your browserEvery computation happens in your browser — your data never leaves this device.
Result
Enter a number or Roman numeral to see the result
0 valid · 0 invalid
What this tool does
- Decipher Roman numerals from papers, inscriptions or old film copyright years and get the Arabic number back.
- Need Roman numerals for copy or design? Convert the other way — 1987 becomes MCMLXXXVII, with an option for lowercase output.
- Teach the subtractive notation with the place breakdown: 1987 splits into M + CM + LXXX + VII, making it obvious why 900 is written CM.
- Convert a batch of numbers for a manuscript, contract or chapter list — one value per line, Arabic and Roman values can be mixed.
Example
Input
1987
Output
MCMLXXXVII (lowercase mcmlxxxvii) · place breakdown: 1000 → M, 900 → CM, 80 → LXXX, 7 → VII
Conversion uses standard subtractive notation (900 = CM, 400 = CD, 90 = XC, 40 = XL, 9 = IX, 4 = IV) and supports 1 – 3999.
Frequently asked questions
Why are forms like IIII and IC rejected?
Validation works by canonical comparison: the numeral is converted to an integer and then back to standard form, and anything that does not match exactly is rejected. IIII canonicalizes to IV and IL to XLIX, so both fail. The IIII seen on clock faces is not standard notation.
Why is the upper limit 3999?
Because the standard letters M, D, C, L, X, V and I can express at most 3999. From 4000 upward you need an overline meaning "times 1000", a different notation that plain letters cannot express, so the tool refuses rather than returning a wrong answer.
Can I mix Arabic numbers and Roman numerals?
Yes. In batch mode each line is judged on its own: an all-digit line converts to Roman, a line of IVXLCDM letters converts to a number, and anything else reports that it is neither. Blank lines are skipped and up to 200 lines are processed per run.
Does lowercase output break the reverse conversion?
No. Input is upper-cased before parsing, so mcmlxxxvii and MCMLXXXVII both convert to 1987. The lowercase option only affects the output form.
Is whitespace or punctuation inside the numeral allowed?
Leading and trailing spaces are trimmed, but the body must be entirely IVXLCDM letters or entirely digits. Something like "M CM" is invalid input — remove the space and convert again.
Keywords:roman罗马数字roman numeral转换converter数字转罗马减法写法批量