Toolvore

Roman Numeral Converter

Convert between Roman numerals and Arabic numbers.

This tool runs entirely in your browser. Your data is never uploaded, never stored, and never leaves your device.

Reads whatever you put in the single box — an ordinary number or a string of Roman letters — works out which direction you meant, and returns the other form.

How to use it

  1. 1Type a number from 1 to 3999, or a numeral made of I, V, X, L, C, D and M. Lower case is accepted and upper-cased for you.
  2. 2Read the result and the caption above it, which restates the direction taken, for example "2,024 in Roman numerals".
  3. 3Copy the result.

Example

Input
2024
Output
MMXXIV

Paste MMXXIV back in and you get 2024 — the direction is decided by whether the input is all digits or all numeral letters. Non-standard spellings are refused rather than quietly accepted: IIII is read as 4, compared against the canonical IV, and rejected with "did you mean IV?". The 3999 ceiling exists because M is the largest symbol available and the overline-for-thousands notation is not supported.

What happens to your data

Conversion is a walk down a thirteen-row symbol table inside a useMemo that re-runs on each keystroke; the value you typed only ever exists in React state for the life of the tab. There is no recent-conversions list, nothing is saved between visits, and closing or refreshing the page empties the field.

Last updated August 2026

A date on a foundation stone, the copyright line at the end of a film, a chapter heading in a contract, a year someone wants set in ink — Roman numerals turn up wherever a number is meant to look permanent. You have one form and need the other, and working through M, D, C and L by hand is easier to get wrong than it feels.

Before you type, decide which direction the standard runs in. If you are producing a numeral to put somewhere — a year, a volume number, a name suffix — you want the modern canonical spelling, where each number has exactly one correct form and the subtractive pairs IV, IX, XL, XC, CD and CM are compulsory. If you are reading a numeral off an object, what is in front of you may follow no such rule: clock faces show IIII, older inscriptions repeat symbols freely, and both are legitimate history even though a converter built on the modern rules refuses them.

The other thing to settle is what the notation cannot do. There is no zero, no negative number and no fraction among the letters, and no place value to build on, so the seven plain symbols run out at 3,999 — beyond that you need a bar drawn over a numeral to multiply it by a thousand, which is not something you can type or paste as ordinary text.

The mistake that catches most people is translating a year digit by digit. 1990 is not MXMLXL; it is 1000 plus 900 plus 90, so M plus CM plus XC, MCMXC. Convert in groups of thousands, hundreds, tens and units and the subtractive pairs fall into place on their own.

How it works

Toolvore reads the single box on every keystroke and decides direction from the shape of what is in it: all digits go one way, letters drawn only from I, V, X, L, C, D and M go the other, and anything mixing the two — a comma in 1,990, a stray full stop, a minus sign, a space between two numerals — is refused with one message naming both accepted forms. Going out, the number is walked down thirteen value-and-symbol pairs from M down to I, taking each as many times as it fits; the six subtractive pairs sit in that table beside the seven letters, which is why the output never needs a fourth repeat. Coming back the other way, each letter is added unless the letter to its right is larger, in which case it is subtracted. That rule on its own reads plenty of strings nobody would ever write, so the number it produces is converted back and compared against what you typed before anything appears. The weakness is the flip side of that check: it knows one spelling per number, so genuine historic and decorative variants are treated as errors rather than translated.

Common use cases

  • Turning a year into a numeral for a tattoo, a plaque or an engraving
  • Reading the copyright date in a film or television credit
  • Dating a cornerstone, a clock or a monument from the numerals carved on it
  • Converting chapter, act or appendix numbers in a legal document
  • Working out which Super Bowl or Olympiad a numeral refers to
  • Converting the lower-case page numbers at the front of a book back into figures
  • Checking a monarch or a family name suffix reads as the number you meant

Frequently asked questions

How do you write a year in Roman numerals?

Split the year into thousands, hundreds, tens and units, convert each part on its own, then write them left to right. 2026 is 2000 plus 20 plus 6, so MM plus XX plus VI: MMXXVI. 1984 is 1000 plus 900 plus 80 plus 4, so M plus CM plus LXXX plus IV: MCMLXXXIV. The hundreds are where people slip — 900 is CM rather than DCCCC, and 400 is CD rather than CCCC. Every year from 1000 to 1999 opens with a single M and every year from 2000 to 2999 with MM, which is why recent dates look so much shorter than nineteenth-century ones.

Why is there no zero in Roman numerals?

Because the system adds values rather than filling positions. A numeral is a running total of the letters in it, so an empty column never arises and there is nothing for a zero to hold in place. Our own digits need one for exactly that reason: 105 and 15 differ only by a symbol standing in an empty tens column. Medieval writers using Roman numerals for calendar tables did borrow the Latin nulla, sometimes abbreviated to N, when they needed to record nothing, but it never became one of the letters. The same absence rules out negative numbers and decimals; Roman fractions were a separate twelfths notation of dots and an S for a half.

What is the largest number you can write in Roman numerals?

With the plain letters, 3,999 — MMMCMXCIX — because M is the largest symbol available and no symbol is repeated more than three times. Larger figures needed a multiplier. A vinculum, a bar drawn over a numeral, multiplies it by a thousand, so a barred V is 5,000 and a barred X is 10,000; the older apostrophus system enclosed numerals in bracket-like marks for the same purpose. Neither is an ordinary letter, so neither survives being typed, copied or pasted as plain text, and most converters stop at 3,999 rather than pretend otherwise. Past that point, ordinary digits are the honest answer.

Which subtractive combinations are actually allowed?

Six, and only six: IV, IX, XL, XC, CD and CM. The underlying rule is that I, X and C may each be placed before the next two larger symbols — I before V and X, X before L and C, C before D and M — while V, L and D are never subtracted at all. So 49 is XLIX rather than IL, and 95 is XCV rather than VC. None of the six is ever doubled either, which is why 8 is VIII and not IIX. Keep to the rule and every number has exactly one spelling, which is what makes conversion reversible in both directions; break it and you get strings that are readable but non-standard.

Why do clocks show IIII instead of IV?

Almost every traditional dial with Roman numerals uses IIII at four o'clock, and the habit is older than the rule it breaks. The explanations usually offered are visual balance, since IIII on the left mirrors the weight of VIII on the right; legibility, because four upright strokes read faster at an angle than a subtractive pair; and casting, since a set of numerals made from moulds of I, V and X divides neatly when four is IIII. The story that Louis XIV insisted on it is almost certainly invention. Either way, IIII is correct by convention on a dial and IV is correct in writing.

How do I read a long numeral without losing my place?

Work from the left in descending groups rather than letter by letter. Take the Ms first, since each is a thousand, then scan for a C or an X sitting immediately before a larger letter, because that pair is a single value and reading its two letters separately is where most errors come from. MCMLXXXIV breaks into M for 1000, CM for 900, LXXX for 80 and IV for 4, giving 1984. The check that catches mistakes is that values should never increase as you move right unless you are inside one of the six subtractive pairs. If they do, you have either split the string wrongly or you are looking at a non-standard spelling.

Can you do arithmetic with Roman numerals, or sort a list of them?

Not usefully. Without place value there are no columns to line up and no carrying, which is why Roman practice was to work the sum on a counting board or abacus and write only the answer in numerals. Sorting is worse. Sorted as text, C comes before I comes before M, so a run of chapter numbers or monarch numerals ends up in an order with no relation to size, and IX lands next to I rather than after VIII. If numerals are going into a spreadsheet or a database, store the ordinary number in its own column and treat the numeral as a label for display.

Does what I type get uploaded or saved anywhere?

No. Both directions are a walk down a short table of values held in the page's own code, recalculated as you type, with no request made and nothing written down — there is no list of recent conversions and no field remembered between visits, so refreshing or closing the tab empties it. That matters for the mundane reason that people paste more than a bare number into a box like this: a case reference, a serial, a line lifted out of a document. Whatever ends up in the field stays on your own machine, and once the page has loaded it behaves the same with the network disconnected.