Convert numbers to Roman numerals, or Roman numerals back to numbers, instantly, right in your browser.
Enter a number to convert it to a Roman numeral.
Roman numerals are built from seven symbols, each with a fixed value:
| Symbol | Value |
|---|---|
| I | 1 |
| V | 5 |
| X | 10 |
| L | 50 |
| C | 100 |
| D | 500 |
| M | 1000 |
Symbols are normally added together left to right (VI = 5 + 1 = 6), but when a smaller symbol comes right before a larger one, it's subtracted instead. Only six subtractive pairs are standard:
| Number | Roman Numeral |
|---|---|
| 1 | I |
| 4 | IV |
| 9 | IX |
| 49 | XLIX |
| 100 | C |
| 2026 | MMXXVI |
| 3999 | MMMCMXCIX |
Not every combination of Roman numeral letters is valid. This converter checks for standard notation, so combinations like these are rejected even though every individual letter is real:
I = 1, V = 5, X = 10, L = 50, C = 100, D = 500, and M = 1000. Larger numbers are built by combining these, either by addition (VI = 5 + 1 = 6) or subtraction (IV = 5 - 1 = 4).
When a smaller symbol appears before a larger one, it's subtracted instead of added. The only standard subtractive pairs are IV (4), IX (9), XL (40), XC (90), CD (400), and CM (900) -- a smaller symbol is never placed before anything more than one step larger (there's no such thing as IC for 99; it's written XCIX instead).
This converter checks for standard notation, not just "are these valid letters." Strings like IIII (should be IV), VV (should be X), IC (should be XCIX), and XM (should be CM VC... actually MCM-style formations) all use letters that exist individually but combine them in a way standard Roman numerals never do, so they're rejected with a clear message rather than silently guessing a number.
This converter supports the standard range of 1 to 3999. Numbers at or above 4000 would traditionally need an overline (vinculum) notation to multiply a symbol by 1,000, which isn't practical in plain text, so this calculator doesn't attempt to invent a non-standard format for it.
No. The Roman numeral system has no symbol for zero, so this converter doesn't accept 0 as an input, either as a number to convert or as an implied value.
Yes. Lowercase input like "mmxxvi" is automatically converted to uppercase before validation, so it converts the same as "MMXXVI".
No. Every conversion happens locally in your browser using JavaScript. Nothing you enter here is sent to Brekzy or stored anywhere.
Explore Brekzy's growing collection of free calculators, converters, AI tools, and practical resources.