Roman Numeral Converter

Turn numbers into Roman numerals and numerals back into numbers, a whole list at a time.

Runs on your deviceConvertersWorkingNo account needed

What this tool does

Roman Numeral Converter works down the standard value table — M, CM, D, CD, C, XC and the rest — taking the largest symbol that still fits and subtracting it before moving on. That is what produces MCMXCIV for 1994 rather than a long run of repeated letters. Reading a numeral runs the other way: each letter is weighed against the one after it, and a smaller value standing in front of a larger one is subtracted instead of added.

Input is a list, one value to a line, and by default every line is judged on its own. A line made only of digits, separators and spaces is turned into a numeral; anything else is read as one. So a mixed column of years and numerals converts in a single pass, and the results land in the output pane as an Input and Result table, one row per line, in the order you pasted them. Numerals are case-insensitive, spaces inside them are ignored, and the text is normalised before parsing, so single-character forms such as Ⅻ that turn up in copied documents are understood as XII.

Two limits settle whether this is the right tool for a given list. The range is 1 to 3999, because the converter writes at most three M characters and has no vinculum — the overline that classically multiplies a numeral by a thousand — so 4000, zero, negative numbers and anything with a fractional part are refused by name rather than approximated. Validation is strict in the other direction too: only the canonical spelling is accepted, so IIII is rejected even though clock faces have used it for centuries, though when the letters still total something inside the range the error works out that value and suggests the canonical spelling of it. And one bad line stops the whole batch, with the message naming that line's number, so a long list is corrected line by line rather than returning partial output.

The conversion happens in this browser tab. Nothing you type is uploaded or written to storage, and an open page keeps converting with the network off — though no offline copy of the site is cached, so a fresh load still needs a connection. That is more a convenience here than a secret worth keeping, since a year is not sensitive data. The trade-off worth naming is that no file goes in or out: a column of Roman numbers has to be pasted in as text rather than handed over as a spreadsheet or a document, and the results leave on the clipboard rather than as a download.

How to use it

  1. Paste your values, one per line. Numbers, numerals or both mixed together. Press Load sample for a short list that shows the expected shape.
  2. Leave Direction on Detect per line. A line of digits is converted to a numeral and anything else is read as one, so a mixed column needs no sorting beforehand.
  3. Pin the direction for a line detection cannot read. Number → Roman and Roman → number apply to every line at once. Pin the first for numbers written in ways the detector treats as letters, such as 1'994 or 1e3, and the second to make any line of digits an error — which is how you check that a column holds nothing but numerals.
  4. Tick Lowercase numerals for mcmxciv. It affects only the numerals the tool writes. Numerals you paste are read whatever their case and come back as digits.
  5. Read the table, then press Copy output. Results fill the output pane as an Input and Result table in the order you pasted. Copy output takes that whole table as comma-separated text, header row included, rather than a bare list of converted values.

Processing & privacy

Runs on your device. Your file is processed directly in this browser.

Common use cases

Dating a copyright line or a film credit

Front matter and end credits still set the year in numerals, and MCMXCIV is quicker to check here than to count out on paper.

Reading a regnal or a chapter number

Monarchs, popes, sequels and preface pages are numbered in Roman, and a long one such as MMDCCLXIV is easy to misread by eye.

Converting a column exported from a spreadsheet

Paste the column as text and every line converts in one pass, with each row of the result table showing which input produced which value.

Proofreading a numeral written by hand

Strict validation turns the tool into a checker: a non-standard spelling is rejected, and where the letters still add up to something in range the message names the value it looks like.

Numbering an outline or a set of appendices

Section headings, appendices and front matter are conventionally numbered in Roman, which saves counting past X in your head.

Questions

Do the numbers I paste leave this page?
No. Both directions run in this browser tab using the page's own code, nothing is transmitted or written to storage, and an open page keeps converting after you disconnect. Reloading it does need the network, since the site caches no offline copy of itself.
Why will it not convert 4000 or more?
The converter writes no more than three M characters and does not use the vinculum, the overline that multiplies a numeral by a thousand, so the range stops at 3999. Zero and negative numbers have no Roman spelling at all and are refused rather than guessed at.
Why is IIII rejected when clock faces use it?
Validation accepts only the canonical spelling, where a symbol repeats at most three times and subtraction is limited to the standard pairs. Watch dials have used IIII for balance for a very long time, but it is not the standard form, so the tool reports it and adds what it seems to mean: Did you mean IV (4)?
Does the case of what I paste matter?
No. Numerals are uppercased before they are parsed, so mcmxci, MCMXCI and any mixture of the two all read as 1991. Spaces inside a numeral are stripped as well.
Will it read the single-character numerals from a document?
Yes. The text is normalised before parsing, so the composed characters such as Ⅻ and Ⅳ that some word processors and PDFs produce expand to XII and IV and convert as normal.
What happens if one line in a long list is wrong?
The run stops and the error arrives as a warning notice naming the line number along with the offending value, so nothing partial is produced. One quirk to know: when a run fails, the table from your last successful run stays on screen and Copy output still holds it — only the count beside that button clears — so trust the notice over the pane. Fix the line and convert again; there is no setting that skips bad rows and carries on.
Can it convert a decimal such as 12.5?
No. Roman numerals have no fractions, so a value with a decimal part is reported as not being a whole number. Thousands separators are fine, though: 1,994 and 1994 both give MCMXCIV.

Related tools