Skip to content

Roman Numeral Converter

Converts between Roman numerals and Arabic numbers, validating subtractive notation.

Converts a number to a Roman numeral and a numeral back to a number, checking the notation as it goes. Non-standard numerals are still read rather than rejected, with a note about what is wrong with them — IIII is on half the clock faces ever made.

🔒 Runs entirely in your browserromanconvertnumber

Direction

Convert

Number

Numeral

MMXXVI

The rules being enforced

  • I, X, C and M may repeat up to three times. V, L and D never repeat.
  • Only I, X and C may be subtracted — and only from the next two values up.
  • So 99 is XCIX, not IC: I may be taken from V and X only. IC reads as 99 to a naive parser and is not a numeral.
  • There is no zero, and no negative. The system has no symbol for either.
Non-standard numerals are still read here rather than rejected, with a note about what is wrong with them — IIII is on half the clock faces ever made, and telling someone their clock is invalid is not useful.

A clock face

1 = I2 = II3 = III4 = IV (clocks: IIII)5 = V6 = VI7 = VII8 = VIII9 = IX10 = X11 = XI12 = XII

How to use it

  1. Choose the direction

    Number to numeral, or numeral to number. Letters are read in either case.

  2. Read the standard spelling

    For a numeral you typed, the tool shows the canonical form beside it. That is how you find out that IC is not a numeral at all.

  3. Use the vinculum for large numbers

    A bar over a letter multiplies it by a thousand. Above 3,999 that is the only way the system can go, and it is written here with the combining overline character.

Common questions

Why is 99 not IC?

Only I, X and C may be subtracted, and only from the next two values up. I can be taken from V and X, so IC is not a numeral at all — it just happens to read as 99 to a careless parser. 99 is XCIX.

Is IIII wrong?

It is not standard, and it is on clock faces everywhere — for balance against the VIII opposite it. The tool reads it as 4 and says it is non-standard, because telling someone their clock is invalid is not useful.

How do I write zero?

You cannot. The system has no symbol for zero and none for a negative number. Medieval scribes wrote nulla when they had to, which is a Latin word rather than a numeral.

Feed it from

Next

These accept what this tool produces, so the result can go straight in.