Roman Numeral Converter
Convert between Arabic numbers and Roman numerals instantly
Roman numerals still show up on building cornerstones, film copyright lines, clock faces, monarch names, and book chapters. The Roman Numeral Converter translates in both directions: type 2026 to get MMXXVI, or paste MCMLXXXIV to get 1984. It validates the input rather than blindly summing symbols, so malformed numerals such as IC or VV are flagged instead of quietly returning a wrong number.
Two Conversions in One Tool
Choose a direction with the toggle. To Roman takes a whole number from 1 to 3,999 and produces standard notation. To Arabic takes a Roman numeral string and returns its decimal value. Input is accepted as you type, the result appears instantly, and a copy button puts the output on your clipboard. The parser is case-insensitive and ignores surrounding whitespace, which is handy when pasting text out of a document.
How the Conversion Works
Both directions rely on a fixed table of thirteen value-and-symbol pairs, ordered from largest to smallest:
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
Converting a number to Roman is greedy: walk the table from the top, append each symbol and subtract its value while the remainder is large enough. Because the table includes the six subtractive pairs (CM, CD, XC, XL, IX, IV), the output is automatically in the canonical shortest form.
Converting back to a number reads the string left to right, checking two-character pairs first and then single characters. When a pair such as IV is seen, its value is added as a unit. This is what allows a leading smaller symbol to reduce a larger one without a separate subtraction pass.
The Subtraction Rules in Full
Subtraction is not free-form. Only three symbols may act as a subtractor: I, X, and C. Each has exactly one permitted partner, and only the forms below are canonical:
| Pair | Value | Meaning |
|---|---|---|
| IV | 4 | 5 minus 1 |
| IX | 9 | 10 minus 1 |
| XL | 40 | 50 minus 10 |
| XC | 90 | 100 minus 10 |
| CD | 400 | 500 minus 100 |
| CM | 900 | 1000 minus 100 |
V, L, and D never subtract, and no symbol subtracts from one more than one step away. That single restriction rules out a family of tempting shortcuts: IL for 49, IC for 99, XD for 490, and XM for 990 are all invalid, even though they look economical. The correct forms are XLIX, XCIX, CDXC, and CMXC. The converter’s round-trip check catches every one of these, because the parsed value converts back to the canonical spelling rather than the shortcut.
How to Read an Unfamiliar Numeral
Reading a long numeral by eye is easier with a left-to-right pass. Compare each symbol with the next: if the following symbol is larger, subtract the current one; otherwise add it. MCMXLV becomes 1000, then (100 before 1000, so minus 100), then 1000, then (10 before 50, so minus 10), then 50, for 1945. Keeping the six legitimate pairs in mind means the rule rarely has to be applied explicitly, since most numerals are built from those pairs. When a value looks impossible, the tool’s error is usually right and the Roman spelling is the thing to check.
Worked Examples
| Decimal | Roman | How it breaks down |
|---|---|---|
| 4 | IV | 5 minus 1 |
| 9 | IX | 10 minus 1 |
| 40 | XL | 50 minus 10 |
| 444 | CDXLIV | 400 + 40 + 4 |
| 1812 | MDCCCXII | 1000 + 500 + 300 + 10 + 2 |
| 1984 | MCMLXXXIV | 1000 + 900 + 80 + 4 |
| 2026 | MMXXVI | 1000 + 1000 + 20 + 6 |
| 3999 | MMMCMXCIX | 3000 + 900 + 90 + 9 |
What Counts as Invalid
The converter enforces standard notation with two checks. First, it rejects any run of four or more identical symbols, so IIII and XXXX fail. Second, it parses the input, converts the numeric result back to Roman, and requires an exact match.
| Input | Result | Reason |
|---|---|---|
| IIII | Invalid | Four repetitions; should be IV |
| VV | Invalid | Parses to 10, which round-trips to X |
| IC | Invalid | Parses to 101, which round-trips to CI |
| MIM | Invalid | Parses to 2001, which round-trips to MMI |
| XLII | 42 | Valid |
| mcmlxxxiv | 1984 | Valid, case-insensitive |
| 0 | Invalid | No zero in Roman numerals |
| 4000 | Invalid | Above the 3,999 ceiling |
Why the Limit Is 3,999
The seven basic symbols stop at M, which is 1,000. Expressing 4,000 would require MMMM, and 5,000 has no single symbol at all. To go higher, historical writers used a bar over a symbol to multiply it by 1,000 or a variant called apostrophus, but those conventions vary and are not universally readable. Capping at 3,999 keeps every output unambiguous and matches how years and chapter numbers are normally written today.
Where Roman Numerals Still Appear
- Copyright years at the end of films and television shows, such as MMXXVI.
- Foundation stones, monuments, and building dedications.
- Clock faces, where IIII is sometimes preferred to IV for visual symmetry.
- Numbering for monarchs (Charles III), Super Bowls (Super Bowl LVIII), chapters, and appendices.
- Tattoos, engravings, and design work that needs a classical look.
Related Tools
Frequently Asked Questions
Why is 4 written as IV instead of IIII?
The subtractive rule lets a smaller symbol before a larger one subtract from it, so IV means 5 minus 1. This is the standard modern notation, although some clock faces and older inscriptions still use IIII by tradition. The converter treats IV as valid and IIII as malformed.
Why does the tool reject numerals like IC and VV?
After parsing a Roman numeral, the tool converts the result back to Roman and compares. If the round trip does not reproduce your input exactly, the input is non-standard. IC parses to 101, but 101 converts back to CI, so IC is rejected. VV parses to 10, which converts back to X, so VV is rejected too.
What is the largest number I can convert?
3,999, written MMMCMXCIX. Standard notation has no symbol for 5,000, so values at or above 4,000 are out of range. A few systems use an overline or apostrophus for larger values, but this converter deliberately sticks to the seven basic symbols.
Can I type Roman numerals in lowercase?
Yes. The input is trimmed and converted to uppercase before parsing, so mcmlxxxiv and MCMLXXXIV both return 1984. Spaces around the value are ignored, but internal spaces or punctuation are not part of any valid numeral and will trigger an error.
How does 2026 convert to Roman numerals?
2026 breaks into 1,000 plus 1,000 plus 10 plus 10 plus 5 plus 1, which is MMXXVI. The converter builds it greedily from the largest values downward, so it never needs to guess.
Is there a Roman numeral for zero?
No. The system has no zero and no negative values, so entering 0 or a negative number returns an error explaining there is no representation for it. This is a property of the historical system, not a missing feature.
Reviewed by the HandyTools Hub team · Last updated