Conversion Runs locally Ready to use Built-in examples No tracking

Roman Numerals Converter

Convert between Arabic numbers and Roman numerals in both directions with live updates, plus a reference chart of the basic symbols and subtractive pairs.

Clock faces, film copyright years, chapter numbers, periodic-table group headings — Roman numerals are still in formal use. This tool converts in both directions: type a number to get the Roman form (2026 becomes MMXXVI), or type a Roman numeral to get the number back, with both sides updating as you type and a reference chart of the basic symbols alongside.

On the rules: standard Roman numerals use subtractive notation, so IV is 4 and IX is 9, and the largest representable value is 3999 (MMMCMXCIX) — anything larger needs the overline convention for thousands, which this tool does not use, working in the range 1 to 3999. An invalid combination such as IIII or VX is reported as an error rather than guessed at.

      How to use

      1. Type a number to see its Roman form, or a Roman numeral to see the number.
      2. Watch the other side update as you type.
      3. Stay within 1 to 3999, the range standard notation covers.
      4. Check the symbol chart if a reading is unfamiliar.

      How it works

      How to use

      Type into either box and the other updates automatically: Arabic numerals (1-3999) on the left, Roman numerals on the right, e.g. 2026 is MMXXVI.

      Basic symbols and the subtraction rule

      The seven basic symbols are I = 1, V = 5, X = 10, L = 50, C = 100, D = 500, M = 1000. A smaller symbol to the left of a larger subtracts; only six combinations are allowed: IV (4), IX (9), XL (40), XC (90), CD (400), CM (900).

      Why it only goes to 3999

      Standard Roman numerals have no symbol for 4000 and above; ancients used a bar over a symbol to mean times 1000 (like V-bar = 5000). This tool doesn't support overbars, so the range is 1-3999 — beyond that it reports a range error.

      What happens with non-standard input

      Reverse parsing accepts standard forms only: invalid combinations like IIII, VV or IC report a form error and offer the correct version (IIII should be IV). This helps catch transcription errors rather than silently returning a value.

      Code example

      JavaScript The standard conversion: greedy table lookup

      const TABLE = [[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"]];
      
      function toRoman(n) {
        let s = "";
        for (const [v, r] of TABLE) while (n >= v) { s += r; n -= v; }
        return s;
      }
      
      toRoman(2026);   // "MMXXVI"
      toRoman(3999);   // "MMMCMXCIX" (the limit of standard notation)
      

      Python Roman to number: subtract on the left, add on the right

      VAL = {"I":1,"V":5,"X":10,"L":50,"C":100,"D":500,"M":1000}
      
      def to_int(s):
          total = 0
          for i, ch in enumerate(s):
              v = VAL[ch]
              if i + 1 < len(s) and v < VAL[s[i + 1]]:
                  total -= v          # a smaller value left of a larger one subtracts
              else:
                  total += v
          return total
      
      to_int("MMXXVI")   # 2026
      to_int("MCMXCIV")  # 1994
      

      FAQ

      What's the largest Roman numeral?

      Using standard symbols (without the overbar-times-1000 form) the maximum is 3999, written MMMCMXCIX. Larger values in ancient Rome were written with an overbar for times 1000, which plain text can't express, so this tool covers 1-3999.

      Why is 4 written IV instead of IIII?

      The subtraction rule: a symbol may repeat at most three times, and the fourth uses "smaller before larger" to subtract, so 4 is IV and 9 is IX. Only six subtraction pairs are allowed — IV, IX, XL, XC, CD, CM; IC for 99 is not permitted.

      What happens if I enter IIII?

      It reports a form error and notes the correct form is IV. Clock faces often write 4 o'clock as IIII, but that's a watchmaking visual tradition (making IIII and VIII symmetric), not the mathematical standard — this tool follows the standard.

      IX and XI are easy to confuse — how to tell them apart?

      Look at which side the smaller symbol is on: left subtracts, right adds. So IX = 10 - 1 = 9 and XI = 10 + 1 = 11; likewise IV = 4 but VI = 6, and XL = 40 but LX = 60.

      Is there a 0 in Roman numerals?

      No. The ancient Roman system didn't use 0 and had no symbol for it, tied to its use mainly for counting and accounting. This tool rejects 0 as out of range.

      How do I write a year in Roman numerals?

      Split the four-digit year into places and write by rule, e.g. 2026 = 2000 + 20 + 6 = MM + XX + VI = MMXXVI. The MMXXV seen on copyright pages is 2025, and MMXXVI is 2026.

      Are lowercase Roman numerals recognized?

      Yes — input is uppercased before parsing, so mcmxc and MCMXC give the same result. Spaces and commas are ignored too, handy for pasting from documents.

      Does this conversion need a network connection?

      No. The table and rules live in the page's local script, working offline; your input never leaves the browser or gets recorded on any server.