Skip to content
Convert Filez
Text And WritingRuns in your browser5 min read

Roman Numeral Converter

This Roman numeral converter translates ordinary numbers into Roman numerals and Roman numerals back into ordinary numbers, one value per line, entirely inside your browser. It covers the full standard range of 1 to 3999 and reports a clear message on any line it cannot read rather than quietly guessing.

Loading the tool interface
Files never leave your deviceNo upload wait and no queueNo signup, watermark or file limit

Roman numerals are an additive and subtractive system built from seven letters. Reading them is easy once you know the rule, but writing them by hand is where mistakes creep in, because the subtractive pairs are restricted in ways that are not obvious. IL is not 49, yet it looks plausible if you are working from memory.

Nothing is uploaded. The conversion is arithmetic performed on your own device, so a list of chapter numbers, film credits or monarch names never leaves the machine you typed it on.

Why the Roman numeral converter stops at 3999

Classical Roman numerals use seven letters: I, V, X, L, C, D and M. The largest of them is M for 1000, and standard notation never repeats a letter more than three times in a row. That places a hard ceiling at MMMCMXCIX, which is 3999, and it is why this Roman numeral converter accepts 1 to 3999 and refuses anything outside it.

Larger values existed in Roman practice, but they were written with an overline called a vinculum that multiplies the letter by a thousand, so a barred V means five thousand. The vinculum has no single agreed encoding in plain text, so rather than emit something other software will read differently, the tool declines the value and says why.

Zero has no Roman numeral at all. The system has no symbol for nothing and no positional notation, which is why the range starts at 1 rather than 0.

  • I is 1, V is 5, X is 10, L is 50, C is 100, D is 500 and M is 1000.
  • A smaller letter before a larger one subtracts, so IV is 4 and CM is 900.
  • Only I, X and C ever subtract, and only from the next two larger letters.
  • No letter repeats more than three times, so 4 is IV rather than IIII.
  • V, L and D never repeat and never subtract.

The six subtractive pairs worth memorising

Every valid numeral can be written by working down a fixed list of thirteen values, and six of those are the subtractive pairs. They are IV for 4, IX for 9, XL for 40, XC for 90, CD for 400 and CM for 900. Nothing else subtracts. IL, IC, VX and XD are all invalid even though people write them, and this tool rejects them on input instead of pretending they mean 49, 99, 5 and 490.

The greedy algorithm behind the arabic to roman numerals direction is short. Take the largest value in the list that is not bigger than the remainder, write its letters, subtract it and repeat. Because the list already contains the subtractive pairs, the result is always the shortest legal spelling.

Reading Roman numerals to numbers without mistakes

Going the other way, the tool scans left to right and compares each letter with the one after it. If the current letter is worth less than the next, its value is subtracted, otherwise it is added. That single rule handles MCMXCIV correctly as 1994 without any special cases.

Validation is the part that matters. After parsing, the result is converted back into a numeral and compared with what you typed. If the two do not match, the input was not canonical and the line is reported as invalid. This catches IIII, VIV, IM and every other near miss in one check, which is more reliable than enumerating the illegal patterns.

Case is ignored on input, so mcmxciv and MCMXCIV both convert to 1994. Output case is your choice.

Where you still meet Roman numerals

They survive in more places than their age suggests. Film copyright lines, Super Bowl and Olympiad numbering, monarch and pope regnal names, clock faces, book preface page numbers and outline headings in legal documents all still use them. When you convert numbers to Roman numerals for any of these, the job is formatting rather than mathematics.

On the web the same idea appears in CSS, where the list-style-type values upper-roman and lower-roman number an ordered list automatically. If you are building a document rather than a page, you need the literal characters, which is what this tool produces.

One quirk worth knowing: clock faces very often show IIII rather than IV at four o'clock. That is a horological convention for visual balance, not a standard numeral, so canonical output will always give you IV.

Converting a whole list at once

Paste as many values as you like, one per line, and each is converted independently. Blank lines are preserved, and a line that cannot be converted is marked in place rather than dropped, so the output always has the same number of lines as the input.

That behaviour is what makes bulk work safe. If you are renumbering forty chapter headings, you want to paste the output straight back into your document and trust the row alignment. Silently skipping the lines that failed would corrupt everything below them.

The optional side by side format writes each line as the original value, an equals sign and the result, which is useful when you are producing a Roman numeral chart or checking someone else's work rather than replacing text.

The thirteen values a canonical numeral is built from
ValueNumeralNote
1000MRepeats up to three times
900CMSubtractive pair
500DNever repeats
400CDSubtractive pair
100CRepeats up to three times
90XCSubtractive pair
50LNever repeats
40XLSubtractive pair
10XRepeats up to three times
9IXSubtractive pair
5VNever repeats
4IVSubtractive pair
1IRepeats up to three times

How to use the Roman numeral converter

  1. 1

    Choose a direction

    Pick number to Roman numeral, or Roman numeral to number. The tool auto detects nothing, so the direction is always explicit.

  2. 2

    Paste your values

    Enter one value per line, or drop a plain text file. Numbers must fall between 1 and 3999, and numerals may be upper or lower case.

  3. 3

    Set the output options

    Choose uppercase or lowercase output, and turn on the side by side format if you want the original value kept beside each result.

  4. 4

    Convert, then copy or download

    Press convert. Any invalid line is flagged in place. Copy the result to the clipboard or download it as a text file.

Related tools worth bookmarking

Sources and further reading

Frequently asked questions

Common questions about the roman numeral converter.

3999, written MMMCMXCIX. Standard notation never repeats a letter more than three times and M is the largest letter, so 3999 is the ceiling. Anything above it needs the vinculum overline, which has no reliable plain text encoding.

Canonical Roman notation limits any letter to three consecutive repetitions and uses a subtractive pair instead. IIII is widely understood and appears on many clock faces, but it is not the standard form, so the converter always outputs IV.

Yes. Switch the direction and paste numerals instead. Each line is parsed left to right, validated by converting the result back and comparing, then reported as a plain number. Lowercase input is accepted and treated identically.

They are a typographic convention rather than a different system. Lowercase forms are standard for preface page numbering and for sub items in legal outlines. The tool reads either case on input and lets you pick the case of the output.

No. The Roman system has no zero and no negative numbers, which is why it was replaced for arithmetic by positional notation. Values must be whole numbers of at least 1, and decimals are rejected rather than rounded.

No. The whole conversion is arithmetic that runs in your browser tab, with no network request involved. You can open your browser developer tools, watch the network panel and confirm that nothing is sent while you convert.

Keep going

More text and writing

View the full category