2026topopentools

Roman Numeral Converter

Convert numbers to Roman numerals and back again. Type a number from 1 to 3999 or a Roman numeral into either field and the other updates instantly — right in your browser.

Quick presets:

Symbol values

I1
V5
X10
L50
C100
D500
M1000

Subtractive pairs

When a smaller symbol sits directly before a larger one, it is subtracted instead of added. These six pairs are the only valid combinations, which is why 4 is written 'IV' rather than 'IIII'.

IV= 4
I (1) before V (5) means 5 − 1
IX= 9
I (1) before X (10) means 10 − 1
XL= 40
X (10) before L (50) means 50 − 10
XC= 90
X (10) before C (100) means 100 − 10
CD= 400
C (100) before D (500) means 500 − 100
CM= 900
C (100) before M (1000) means 1000 − 100

Supported range is 1–3999. Standard Roman numerals have no symbol for zero and no standard way to write 4000 or above without overlines. Everything is converted right in your browser — nothing is uploaded.

Understanding the Roman Numeral Converter

The Roman Numeral Converter turns ordinary numbers into Roman numerals and translates Roman numerals back into numbers. It has two synced fields: type a whole number from 1 to 3999 in one box, or a Roman numeral like MCMXCIV in the other, and the matching value appears instantly. Each field has its own copy button, plus a quick reference of the seven symbol values. It is handy for students learning numerals, writers dating book editions or movie copyrights, anyone reading clock faces or building cornerstones, and tattoo or design planning. Everything runs entirely in your browser — no number you type is ever uploaded or stored.

How it works

Number-to-Roman uses the standard subtractive table, pairing values with symbols from 1000/M down to 1/I (including CM, CD, XC, XL, IX, IV). It greedily subtracts the largest value that fits, appending that symbol, until it reaches zero. Roman-to-number first validates the text against a strict regular expression that only accepts well-formed numerals, then uppercases it and walks left to right: each symbol is added to the running total, unless it is smaller than the symbol after it, in which case it is subtracted (the subtractive pair). Numbers below 1 or above 3999, and malformed numerals like IIII or VV, are rejected with an inline message instead of producing wrong output.

Subtractive mapping: M=1000, CM=900, D=500, CD=400, C=100, XC=90, L=50, XL=40, X=10, IX=9, V=5, IV=4, I=1. Validation regex: /^M{0,3}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/i

Worked example

Enter 1994 in the number field. The converter subtracts greedily: 1000 gives M (994 left), 900 gives CM (94 left), 90 gives XC (4 left), and 4 gives IV — producing MCMXCIV. Going the other way, type MCMXCIV: scanning left to right, M=1000 is added; C(100) sits before M(1000) so it is subtracted and M added (1900); X(10) before C(100) subtracts then adds (1990); I(1) before V(5) subtracts then adds (1994). Both directions agree on 1994.

Tips & common mistakes

  • Roman numerals only cover 1 to 3999 here — there is no zero and no negative, so years before 1 AD or values of 4000+ can't be represented in standard form.
  • Use the strict standard form: 4 is IV and 9 is IX. The clock-face style IIII is intentionally rejected as non-standard.
  • No symbol may repeat more than three times in a row (so XXXX is invalid — 40 is XL), which is why the validator flags strings like IIII or MMMM.
  • Subtraction only works with the next power up: IV and IX are valid, but IC (for 99) and IL (for 49) are not — 99 is XCIX and 49 is XLIX.
  • Case does not matter on input — mcmxciv works — but copied Roman output is normalized to uppercase.
  • For years like 2025, expect MMXXV; double-check long strings of M's, as up to three (MMM = 3000) is the maximum before the 3999 ceiling.

Related tools

Frequently Asked Questions

What range of numbers is supported?

The standard Roman numeral range, 1 through 3999. Romans had no symbol for zero and no standard way to write 4000 or higher without overlines (a bar over a numeral to multiply it by 1000), so the tool rejects anything outside 1–3999.

Is there a Roman numeral for zero?

No. The Roman system has no symbol for zero — it was a counting system built from I, V, X, L, C, D, and M, and the concept of zero as a number came to Europe later via Arabic numerals.

Why is 4 written "IV" and not "IIII"?

Standard Roman numerals use subtractive notation: a smaller symbol placed before a larger one is subtracted. So 4 is "IV" (5 minus 1) and 9 is "IX" (10 minus 1). "IIII" appears on some clock faces but is not the standard form, so the tool treats it as invalid.