Roman Numeral Converter: Complete Guide to Roman Numerals

By Risetop Team · April 10, 2026 · 12 min read

Roman numerals are one of the oldest numeral systems still in use today. From clock faces and book chapters to movie copyrights and Super Bowl numbers, this ancient system continues to surround us in modern life. Whether you need to read a building's cornerstone date, convert a year for a school project, or simply satisfy your curiosity about how this system works, this guide covers everything you need to know.

A Brief History of Roman Numerals

The Roman numeral system originated in ancient Rome around the 8th century BCE and evolved over centuries. Unlike our modern Hindu-Arabic numeral system, Roman numerals are not positional — each symbol represents a fixed value regardless of where it appears, though its position relative to other symbols affects the total.

~500 BCE: Early Roman numerals use simple tally marks. The symbol for 1 (I) likely derived from a single notch on a counting stick.
~100 BCE: The subtractive principle emerges. Instead of writing VIIII for 9, Romans begin writing IX (1 before 10).
Middle Ages: Roman numerals dominate European mathematics and commerce for over a thousand years.
13th-15th century: Fibonacci introduces Hindu-Arabic numerals to Europe. The superior efficiency of positional notation gradually replaces Roman numerals for calculation.
Modern era: Roman numerals persist in ceremonial, decorative, and organizational contexts — clock faces, book chapters, movie sequels, monarch names, and sporting events.

The Seven Basic Symbols

Roman NumeralValue
I1
V5
X10
L50
C100
D500
M1,000

Rules for Writing Roman Numerals

Rule 1: Addition Principle

When a symbol of equal or lesser value appears after a larger symbol, add the values together. The symbols are arranged in descending order from left to right.

Examples: VI = 5 + 1 = 6  |  XV = 10 + 5 = 15  |  LX = 50 + 10 = 60  |  MD = 1000 + 500 = 1500

Rule 2: Subtraction Principle

When a symbol of lesser value appears before a larger symbol, subtract the smaller from the larger. Only specific subtractive pairs are allowed.

Allowed subtractive pairs: IV (4), IX (9), XL (40), XC (90), CD (400), CM (900)
Examples: IV = 5 − 1 = 4  |  IX = 10 − 1 = 9  |  XL = 50 − 10 = 40  |  CM = 1000 − 100 = 900

Rule 3: No More Than Three Repeats

The symbols I, X, C, and M can be repeated up to three times in a row. The symbols V, L, and D can never be repeated.

Valid: III = 3, XXX = 30, MMM = 3000
Invalid: IIII (use IV), XXXX (use XL), VV (not a valid construction)

Rule 4: Only One Subtractive Pair

Only one smaller-value symbol may precede a larger one. You cannot write IIX for 8 (use VIII instead), or CDD for 400 (use CD).

Complete Roman Numeral Chart (1-100)

NumberRomanNumberRomanNumberRoman
1I11XI30XXX
2II12XII40XL
3III14XIV50L
4IV15XV60LX
5V19XIX70LXX
6VI20XX80LXXX
7VII21XXI90XC
8VIII25XXV99XCIX
9IX28XXVIII100C
10X29XXIX

Converting Numbers to Roman Numerals

The conversion process works by breaking the number into thousands, hundreds, tens, and ones, then converting each part independently.

Step-by-Step Conversion

Convert 2,026:
Thousands: 2000 = MM
Hundreds: 0 = (nothing)
Tens: 20 = XX
Ones: 6 = VI
Result: MMXXVI
Convert 1,949:
Thousands: 1000 = M
Hundreds: 900 = CM
Tens: 40 = XL
Ones: 9 = IX
Result: MCMXLIX

Conversion Table for Reference

DigitUnits (1s)Tens (10s)Hundreds (100s)Thousands (1000s)
0
1IXCM
2IIXXCCMM
3IIIXXXCCCMMM
4IVXLCD
5VLD
6VILXDC
7VIILXXDCC
8VIIILXXXDCCC
9IXXCCM

Converting Roman Numerals to Numbers

To read a Roman numeral, scan from left to right, adding values. If a smaller value appears before a larger one, subtract it instead of adding.

Convert MCMXLIV:
M = 1000
CM = 900 (1000 − 100)
XL = 40 (50 − 10)
IV = 4 (5 − 1)
Total: 1000 + 900 + 40 + 4 = 1,944
Convert MMMDCCCLXXXVIII:
MMM = 3000, DCCC = 800, LXXX = 80, VIII = 8
Total: 3,888 (this is the longest standard Roman numeral below 4000)

Numbers Above 3,999

The standard Roman numeral system only goes up to 3,999 (MMMCMXCIX) because there is no symbol larger than M (1,000) in the classical system. However, several extensions exist:

For practical purposes, most applications of Roman numerals stay within the 1–3,999 range.

Programming a Roman Numeral Converter

Building a Roman numeral converter is a classic programming exercise. Here is the standard approach:

JavaScript

function toRoman(num) {
  const map = [[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']];
  let result = '';
  for (const [value, symbol] of map) {
    while (num >= value) {
      result += symbol;
      num -= value;
    }
  }
  return result;
}

Python

def to_roman(n):
  vals = [(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')]
  result = ''
  for v, s in vals:
    while n >= v:
      result += s
      n -= v
  return result

Modern Uses of Roman Numerals

Fun Facts

Conclusion

Roman numerals are a remarkable surviving piece of ancient civilization that continues to serve practical and decorative purposes in the modern world. Understanding the seven basic symbols, the addition and subtraction principles, and the repeat rules gives you the ability to read and write any Roman numeral. Whether you are decoding a historical inscription, numbering your own document, or simply impressing friends at trivia night, this knowledge connects you to over two thousand years of mathematical tradition.

Try Our Free Roman Numeral Converter

Instantly convert any number to Roman numerals and back. Supports numbers up to 3,999.

Open Roman Numeral Converter →