Skip to content
clickidy
🎯 ALL GAMES
CODES · TRANSLATOR

Roman Numerals Converter

Numbers the Roman way. 2024 becomes MMXXIV.

Numbers the Roman way. 2024 becomes MMXXIV.

ENCODING →
ROMAN NUMERALSMMXXIV

Ignored: 0

THE HISTORY ◢

Roman numerals build numbers from letters - I, V, X, L, C, D, M - by adding and subtracting, a system Rome inherited from the Etruscans and used across its empire. Clumsy for arithmetic, they survive on clock faces, book chapters, monuments and film copyright dates.

THE LONG ANSWER ◢

Type 4000 into the Roman numeral converter above and you get nothing back. That isn't a bug we've been meaning to fix. The seven symbols stop at M for 1,000, so the largest number you can write with them is 3,999, and 3,999 takes nine characters to say: MMMCMXCIX.

We checked our own converter before writing that, and it does exactly this: 3999 gives MMMCMXCIX, and 4000 gives an empty string. There's nothing left to build the number out of.

Key Takeaways

  • Seven symbols do all the work: I, V, X, L, C, D, M.
  • The largest writable value is 3,999, because M is the biggest symbol.
  • There's no zero and no column position, so a symbol's magnitude never depends on which column it is in.
  • Subtractive pairs (IV, IX, XL, XC, CD, CM) cap any run at three characters.
  • Our decoder accepts IIII as 4 even though it writes 4 as IV, which is what clock faces need.

Why does it stop at 3,999?

Because the largest symbol is M for 1,000, and no symbol may appear more than three times in a row (V, L and D never repeat at all). Three Ms gets you to 3,000, then CM adds 900, XC adds 90 and IX adds 9. That's MMMCMXCIX, and there is nowhere further to go.

Note that M turns up four times in that numeral, three in the opening run and once inside CM. The rule is about consecutive runs, not totals, which is the sort of thing worth stating precisely before someone counts.

Larger values need a vinculum, an overline meaning "multiply by a thousand", so a V with a bar over it stands for 5,000. Our converter doesn't do that, and neither do most, because an overline needs formatting the plain-text box above can't carry.

So 3,999 isn't a historical limit. It's the limit of the seven-symbol set on its own, which is the set everyone means when they say Roman numerals.

What are the subtractive pairs actually for?

They keep any run of identical symbols down to three.

There are exactly six of them, and each one puts a smaller symbol in front of a bigger one to mean "subtract":

Pair Value Instead of
IV 4 IIII
IX 9 VIIII
XL 40 XXXX
XC 90 LXXXX
CD 400 CCCC
CM 900 DCCCC

Compare the columns and the argument makes itself. VIIII and IX are the same number, but you can read IX at a glance and you have to count VIIII.

That's our reading of why the rule exists rather than a documented Roman intention, so treat it as the obvious explanation rather than the record. What we can say for certain is what the rule does, because you can watch it in the box above.

Why is arithmetic so painful in Roman numerals?

Because there's no zero and no place value, and those two absences are the same absence.

In 2024, the 2 on the left means two thousand and the 4 on the right means four, purely because of where they sit. That's place value, and it needs a zero to hold an empty column open. Roman numerals have neither: an M is a thousand wherever it appears, so magnitude comes from which symbols you used rather than which column they land in. Adjacency can flip a symbol's sign, as the I in IV does, but it never changes its size.

The result is that MMXXIV takes six characters to say what 2024 says in four, and the gap widens as numbers grow. MMMCMXCIX is nine characters for a value that Arabic notation writes in four.

Our converter does no arithmetic, so we won't tell you how Roman clerks managed it. What the notation itself shows is that magnitude has to be read off the symbol set rather than counted off in columns, and that is the property positional notation removed.

So why is it IIII on clock faces?

Because a clock is not a calculation, and both forms decode to 4.

Our decoder is deliberately lenient here: feed it IIII and it returns 4, even though asking it to encode 4 gives you IV. We verified both directions. That tolerance is the useful behaviour, because IIII genuinely appears on watch dials, and a converter that rejected it would be wrong about the world.

Why dials favour IIII is argued about. The usual explanation is visual balance against the VIII opposite it. We can't point at a primary document for any of the explanations on offer, so we'll leave it open rather than pick a winner.

Frequently asked questions

What is the largest Roman numeral?

Using the standard seven symbols, 3,999, written MMMCMXCIX. M for 1,000 is the largest symbol and no symbol may appear more than three times in a row. Larger values need a vinculum, an overline meaning "multiply by a thousand", which plain text cannot show.

Why is there no zero in Roman numerals?

Because the system has no place value. There are no columns for a symbol to sit in, so there is no empty column for a zero to hold open. Zero becomes necessary only once position determines value.

What are the six subtractive pairs?

IV is 4, IX is 9, XL is 40, XC is 90, CD is 400 and CM is 900. Each puts a smaller symbol before a larger one to mean subtract, which keeps any run of repeated symbols to three or fewer.

Is IIII a valid way to write 4?

It decodes to 4 and it appears on clock faces, so in practice yes. The standard subtractive form is IV, which is what our converter produces when encoding, but the decoder accepts IIII and returns 4.

How do you write 2024 in Roman numerals?

MMXXIV. Two Ms make 2,000, two Xs make 20, and IV makes 4. Six characters for a four-digit number, which is the system's efficiency problem in one line.

Try a few years in the box above, then find the number where it stops. Then compare it with A1Z26, which numbers letters instead, or binary, which is what positional notation looks like with only two symbols. All three live in the codes console.

Sources

  • Behaviour of our own converter (lib/ciphers.ts), verified 30 July 2026: 3999 encodes to MMMCMXCIX, 4000 returns empty, MMXXIV decodes to 2024, IIII decodes to 4.