Developer Tools
Roman Numerals: Rules, Edge Cases, and Converting Both Ways
The seven symbols, the subtractive rule and its limits, why clocks show IIII, what makes IIIV or IC illegal, and worked conversions like 1994 to MCMXCIV.
Roman numerals look simple — seven letters, add them up — and then you meet MCMXCIV and a clock face that says IIII. Both are correct, both follow rules, and neither is obvious from the letters themselves. The system has exactly one construction rule beyond addition (subtraction), a short list of validity constraints people constantly violate, and a hard range limit of 1–3,999 unless you reach for historical extensions.
This guide covers all of it: the subtractive rule and why it only applies in six cases, why clock dials break the rule on purpose, how to convert numbers to numerals and back with two short algorithms you can do by hand, and the specific forms (IIIV, IC, VX) that are simply illegal. If you just need an answer, the Roman numeral converter does both directions instantly.
TL;DR: the rules in one screen
| Symbol | I | V | X | L | C | D | M |
|---|---|---|---|---|---|---|---|
| Value | 1 | 5 | 10 | 50 | 100 | 500 | 1,000 |
- Addition: a symbol after an equal-or-greater symbol adds its value.
XVI= 10 + 5 + 1 = 16. - Subtraction: a smaller symbol before the next larger one subtracts — but only these six pairs are standard:
IV(4),IX(9),XL(40),XC(90),CD(400),CM(900). - Validity: never more than three identical symbols in a row;
V,L,Dnever subtract; each power of ten subtracts only from the next two steps up (IfromV/X,XfromL/C,CfromD/M). - Range: 1–3,999 without extra notation — there is no zero, no negatives, and no standard letter above
M.
So 1994 = 1000 + 900 + 90 + 4 = MCMXCIV. Everything else below is detail, plus the conversion algorithms.
The subtractive rule and its hard limits
Pure addition gets clumsy fast: 4 becomes IIII, 40 becomes XXXX, and 99 becomes the unwieldy LXXXXVIIII. The fix used consistently in modern notation (MathWorld) is subtraction: when one value precedes a larger one, subtract the smaller. But the modern rule is deliberately narrow — it licenses exactly six combinations:
IV = 4 IX = 9
XL = 40 XC = 90
CD = 400 CM = 900
Every other "looks-like-subtraction" form is invalid, and the failures fall into three families:
- Wrong direction pairs.
VX,LC,DMtry to subtract five-from-ten, fifty-from-hundred, five-hundred-from-thousand. Illegal becauseV,L, andDare the "halves" and never appear as subtrahends. - Skipping too far up.
ICfor 99,XMfor 990,IMfor 999. A symbol may only subtract from the next two larger values (I→V,X;X→L,C;C→D,M). The correct 99 isXCIX: 90 + 9. - Stacked subtractions.
IIIVtries 5 − 1 − 1 − 1;XXCtries 100 − 10 − 10. Only one small symbol may precede the large one. The correct 3 isIII, the correct 80 isLXXX.
There is also a repetition cap: no more than three identical symbols consecutively. III is fine, IIII breaks the convention — which brings us to clocks.
Why clocks say IIII
Watch faces overwhelmingly print IIII instead of IV — MathWorld notes the subtractive rule "is generally not followed on the faces of clocks." It is not an error repeated for centuries; it predates the subtractive convention itself. Ancient Roman inscriptions usually wrote 4 additively (IIII) — subtractive IV only became dominant long after Rome (Britannica). Clockmakers inherited the additive form and kept it, and it happens to serve the dial well: IIII carries the same visual weight as the VIII sitting opposite it, keeping the face balanced.
Two honest caveats so you don't over-generalize: the convention is strong but not universal (the Great Clock at Westminster famously uses IV), and IIII on a clock is a dial tradition — in any other context, writing IIII where IV belongs reads as nonstandard.
Converting numbers to Roman numerals
Use greedy subtraction against a fixed value table. Take the largest value that fits, append its symbol(s), repeat with what's left:
Values in order (largest first):
Value 1000 900 500 400 100 90 50 40 10 9 5 4 1
Symbol M CM D CD C XC L XL X IX V IV I
Convert 1994:
1994 ≥ 1000 → M remaining 994
994 ≥ 900 → CM remaining 94
94 < 500, 400, 100
94 ≥ 90 → XC remaining 4
4 < 5
4 ≥ 4 → IV remaining 0
Result: MCMXCIV
A second pass, 2026:
2026 ≥ 1000 → M rem 1026
1026 ≥ 1000 → M rem 26
26 < 50, 40
26 ≥ 10 → X rem 16
16 ≥ 10 → X rem 6
6 ≥ 5 → V rem 1
1 ≥ 1 → I
Result: MMXXVI
Because the table includes the six subtractive pairs as first-class values, the algorithm can never produce IIII or VIIII — it reaches 4 as IV directly. The largest number this handles cleanly is 3,999 = MMMCMXCIX: three Ms is already the repetition cap, so anything at 4,000 or above needs extension notation (see below). For quick checks, the Roman numeral converter runs this exact table both ways.
Converting Roman numerals back to numbers
Scan left to right, comparing each symbol with the next one: if it is smaller than its neighbor, subtract it; otherwise add it. Work through MCMXCIV:
Symbol Next Action Running total
M C add 1000
C M subtract 900
M X add 1900
X C subtract 1890
C I add 1990
I V subtract 1989
V end add 1994
Total: 1994 ✓
This scan also exposes malformed input naturally. In a valid numeral every subtractive pair is one of the six legal ones, so if your scan ever subtracts something like a V or subtracts twice before the same large symbol, the input is invalid rather than merely unusual. That is exactly what a validator should check — the same three families of illegality from earlier.
Range limits and the vinculum
Standard single-symbol notation tops out at MMMCMXCIX (3,999). Beyond that, history offers two extensions, neither part of everyday use:
- Apostrophus: wrapping marks multiply by powers of ten — Romans wrote
(I)for 1,000 and((I))for 10,000, and rarely wrote bareMat all until medieval scribes standardized it (MathWorld). - Vinculum (the bar): a line drawn over a numeral multiplies it by 1,000 (Britannica) — so
V̄becomes 5,000 andX̄becomes 10,000, extending the range as far as the writer tolerates the typography.
Practical consequence: any converter, validator, or exam answer that stays within plain letters works on 1–3,999, and claims outside that range are either using bars or are wrong. Also remember there is no zero and no negative numbers — the system counts quantities, it does not do arithmetic positions. If you need to compute spans across years written in Roman numerals (copyright lines, film credits, cornerstone dates), do the arithmetic in ordinary integers with the date difference calculator and convert back at the end.
Common failure cases
ICfor 99. Skips the power-of-ten rule. Correct:XCIX.VLfor 45.Vnever subtracts. Correct:XLV.IIIVfor 2. Stacked subtraction. Correct:II.IIII/VV/XXXXoutside a dial. Breaks the three-repetition cap (VVisn't even repetition — it's illegal doubling; 10 is justX).- Lowercase mixing. Historical texts mix cases (
mdcclxxvi); modern usage expects uppercase except stylistic lowercase settings. - Assuming uniqueness. Historical inscriptions freely mixed additive and subtractive forms in one numeral — the Colosseum's gate 44 was labeled
XLIIII(subtractive 40, additive 4). Modern standard notation is unique per number; ancient practice was not. - Reading
Mas always-1,000 in extended contexts. With apostrophus/vinculum documents,(I)or a barred letter outranks it. Check which notation the document uses first.
Where Roman numerals still earn their keep
Outlines and regnal names (Louis XIV), film and game copyright years (MCMXCIX-style credit lines), Super Bowl numbering, chapter prefaces, clock dials, and monument dates. They compress poorly and compute worse — nobody multiplies in Roman numerals — but they survive precisely where a human-readable ordinal looks right carved or printed.
They are also a nice reminder that positional notation is a choice. Our everyday base-10 digits are one option among many: base-64 text encoding, hexadecimal color codes, and binary all trade readability differently. For those, see how Base64 encodes bytes as text and how Unix timestamps count time; to move values between bases directly, the number-base converter covers binary through base-36, and the general unit converter handles the rest of the measurement conversions. All the converters live in the converter category.
Related tooling
| Task | Tool |
|---|---|
| Convert number ↔ numeral, validate a numeral | Roman numeral converter |
| Binary, octal, hex, arbitrary bases | Number base converter |
| Days between two dates (years in numerals) | Date difference calculator |
TL;DR
Seven symbols, one subtraction rule with exactly six legal pairs (IV, IX, XL, XC, CD, CM), a three-repetition cap, no zero, and a 1–3,999 ceiling without vinculum notation. Clock dials keep IIII as a deliberate inheritance from additive Roman practice, balanced against VIII — not a typo. To convert to numerals, greedily take the largest value that fits; to convert back, scan left to right subtracting whenever a symbol precedes a larger one — MCMXCIV unpacks to 1000 − 100 + 1000 − 10 + 100 − 1 + 5 = 1994. When IIIV, IC, or VL show up, they're not variants, they're invalid. Verify any conversion with the Roman numeral converter.
Keep reading
Related posts
CSV to JSON and Back: Handling Headers, Nesting, and Edge Cases
Convert CSV to JSON without corrupting data: how to handle quoting, delimiters, type inference, and nesting, plus a worked round-trip showing what survives.
Read postHow Many Pages Is N Words? Honest Estimates by Format
Double-spaced 12pt runs about 250 words per page, 1.5 spacing about 350-400, single about 500 — with the assumptions stated and the caveats that matter.
Read postSales Tax vs VAT: The Math Stores Don't Explain
Why a $100 item at 7% tax costs $107, but a $107 receipt holds only $7 of tax. Forward and reverse tax math, rounding drift, and how VAT differs.
Read post