# Roman Numeral Converter - Numbers to Roman Numerals and Back, with the Rules

Page: https://hirantha.me/tools/roman-numeral-converter
Part of: Hirantha Sandaruwan Lakshan free tools (https://hirantha.me/tools)
Updated: 2026-10-15

Convert numbers 1 to 3999 to Roman numerals and back, find out why forms like IIII, VX and IC are not standard, and write any date in Roman numerals.

This is a free tool that runs in the browser: open the page to use it. File tools process files on the visitor's own device; files are never uploaded or stored. No account, sign-up, payment or watermark.

Type a number from 1 to 3999 to get its Roman numeral, or type a Roman numeral to get the number. If the numeral is not in standard form, such as IIII, VX or IC, the tool still reads it, tells you which rule it breaks and shows the standard form. A date helper writes the day, month and year as Roman numerals, for example 15.10.2026 as XV.X.MMXXVI. Everything runs in your browser.

The seven symbols. I is 1, V is 5, X is 10, L is 50, C is 100, D is 500 and M is 1000. Written from largest to smallest the symbols are added: XVI is 10 + 5 + 1 = 16 and MMXXVI is 1000 + 1000 + 10 + 10 + 5 + 1 = 2026. A symbol may be repeated up to three times in a row (III, XXX, CCC, MMM), but V, L and D are never repeated, because two of them make X, C and M.

The six subtractive pairs. To avoid four of the same symbol, a smaller symbol placed before a larger one is subtracted: IV is 4, IX is 9, XL is 40, XC is 90, CD is 400 and CM is 900. Wikipedia calls these the only subtractive forms in standard use. So I can come before V and X only, X before L and C only, and C before D and M only. V, L and D are never subtracted.

Building a number place by place. Split the number into thousands, hundreds, tens and ones and write each with the same ten patterns, from the thousands down. For 1994: 1000 is M, 900 is CM, 90 is XC and 4 is IV, so 1994 is MCMXCIV. A place that is zero is simply left out, so 1009 is MIX. The ones place uses I, II, III, IV, V, VI, VII, VIII, IX; the tens, hundreds and thousands follow the same shape with X, L, C, D and M.

How non-standard numerals are read. Anything made of the seven letters is read left to right, subtracting a symbol that sits before a larger one. IIII reads as 4, VX as 5 and IC as 99. The tool then compares with the standard form and names the first rule that is broken: V, L or D repeated, four of I, X or C in a row, a subtractive pair that is not one of the six, two smaller symbols before a larger one (IIX), or parts out of order. IIII is common on clock faces and old inscriptions, but it is not the standard form.

Range and zero. Standard Roman numerals run from 1 to 3999 (MMMCMXCIX). Larger numbers were written with a bar, the vinculum, over a numeral to multiply it by 1,000, which this tool does not draw. The Romans had no numeral for zero; the word nulla was used for it, but the earliest known uses are medieval.

Dates. The date helper writes day, month and year each as a Roman numeral and joins them with the separator you pick. It checks that the date exists, including leap years, using today's Gregorian calendar rules for every year (the calendar itself began in 1582), and accepts years 1 to 3999. This is the modern numeric style. The ancient Romans counted days back from the Kalends, Nones and Ides of each month instead.

Roman numeral symbols, the six subtractive pairs and numerals worth knowing:
| Numeral | Value | Kind | Note |
| --- | --- | --- | --- |
| I | 1 | Symbol | Repeated up to three times; taken away only from V and X |
| V | 5 | Symbol | Never repeated and never taken away |
| X | 10 | Symbol | Repeated up to three times; taken away only from L and C |
| L | 50 | Symbol | Never repeated and never taken away |
| C | 100 | Symbol | Repeated up to three times; taken away only from D and M |
| D | 500 | Symbol | Never repeated and never taken away |
| M | 1000 | Symbol | Repeated up to three times in the standard range |
| IV | 4 | Subtractive pair | V (5) minus I (1) |
| IX | 9 | Subtractive pair | X (10) minus I (1) |
| XL | 40 | Subtractive pair | L (50) minus X (10) |
| XC | 90 | Subtractive pair | C (100) minus X (10) |
| CD | 400 | Subtractive pair | D (500) minus C (100) |
| CM | 900 | Subtractive pair | M (1000) minus C (100) |
| XLIX | 49 | Worth knowing | Written XLIX (40 + 9), never IL |
| XCIX | 99 | Worth knowing | Written XCIX (90 + 9), never IC |
| CDXLIV | 444 | Worth knowing | Uses three subtractive pairs: CD, XL and IV |
| MDCLXVI | 1666 | Worth knowing | Uses every symbol once, from largest to smallest |
| MCMXCIV | 1994 | Worth knowing | Uses three subtractive pairs: CM, XC and IV |
| MMXXVI | 2026 | Worth knowing | Two thousand (MM), twenty (XX) and six (VI), read left to right |
| MMMDCCCLXXXVIII | 3888 | Worth knowing | The longest standard numeral, 15 letters |
| MMMCMXCIX | 3999 | Worth knowing | The largest standard numeral |

Q: How do you write 4 in Roman numerals: IV or IIII?
A: IV is the standard form, with I subtracted from V. IIII is common on clock faces and in old inscriptions, so you will see it, but it is not the standard form and this tool marks it as non-standard while still reading it as 4.

Q: What is the largest Roman numeral?
A: In standard form it is 3999, MMMCMXCIX, because M is repeated at most three times. Larger numbers were written with a bar over a numeral that multiplies it by 1,000, so a barred V is 5,000. This converter stops at 3999 and says so.

Q: Is there a Roman numeral for zero?
A: No. The Romans had no symbol for zero. The word nulla (nothing) was used for it, but the earliest known uses are medieval. Entering 0 in the number box gives a message saying so.

Q: Why is 99 written XCIX and not IC?
A: Because only I, X and C can be subtracted, and each only from the next two symbols above it: I from V and X, X from L and C, C from D and M. So I cannot be put before C. Write 99 by place value as 90 (XC) plus 9 (IX).

Q: Can I subtract V, L or D?
A: No. V, L and D are never subtracted and never repeated. VX is not 5; the standard way to write 5 is V. LC and DM are non-standard in the same way, and the tool tells you the standard form of each.

Q: How do I write today's year in Roman numerals?
A: Split the year into thousands, hundreds, tens and ones and write each part. 2026 is 2000 (MM) + 20 (XX) + 6 (VI), so MMXXVI. Use the date helper for a full date: it handles years from 1 to 3999.

Q: Where do Roman numerals come from?
A: Wikipedia says they are directly derived from the Etruscan number symbols. In ancient times subtractive forms were used inconsistently: gate numbers at the Colosseum use IIII rather than IV, for example. Today Roman numerals are used on clock faces, building cornerstones, book chapters and volumes, the production years of films and regnal numbers such as Elizabeth II.

Q: Does this tool accept lower case and special characters?
A: Yes for lower case: xiv is read as XIV. The single-character Unicode Roman numerals (the block that starts at U+2160) are also read as their letters. Spaces are ignored. Any other character is reported with its position.

Sources: Wikipedia: Roman numerals, standard form, range and origin (checked 15 October 2026) (https://en.wikipedia.org/wiki/Roman_numerals); Wikipedia: Roman calendar, Kalends, Nones and Ides (checked 15 October 2026) (https://en.wikipedia.org/wiki/Roman_calendar)

Related tools:

- [Number base converter](https://hirantha.me/tools/number-base-converter.md): Convert whole numbers between binary, octal, decimal, hex and any base from 2 to 36 with exact BigInt maths, negatives, two's complement and step-by-step working.
- [Date calculator (add or subtract days, months, years)](https://hirantha.me/tools/date-calculator.md): Add or subtract years, months, weeks and days from any date, or count working days, and see the weekday of the result.
- [Day of the week calculator](https://hirantha.me/tools/day-of-week-calculator.md): Find the weekday of any date from 1583 to 9999, plus the day of the year, ISO week number, leap year check and days left in the year.
- [Text to binary converter](https://hirantha.me/tools/text-to-binary.md): Turn text into binary, hexadecimal, octal or decimal bytes, and bytes back into text. UTF-8 aware, with an ASCII table and clear errors.
