Roman numeral converter with strict validation
Bidirectional converter with strict validation (`VL → not valid; 45 = XLV`), derivation per conversion (`1984 = M + CM + LXXX + IV`), Year mode with verify-before-permanent share link, plus side-by-side Maya, Babylonian, Egyptian, and Greek-attic comparison. All in your browser.
Roman numerals are the only legacy numeral system that most people today still have to read without ever being taught - on watches, film credits, inscriptions, monarchs, popes, building cornerstones, and tattoos. The converter below auto-detects whether you typed an arabic number (1984) or a Roman numeral (MCMLXXXIV), validates strictly, and shows you the derivation as colored building blocks. For tattoos and inscriptions, switch to Year mode for a D·M·Y triplet and a verify-before-permanent share link. Alongside the calculator, the comparison panel renders the same number in four other historic systems: Maya (vigesimal), Babylonian (sexagesimal), Egyptian hieroglyphic (additive), and Greek attic (acrophonic).
Other historic numeral systems
1,984Same number, four more notations. Click a tile to see why each culture chose its base.
Maya counted in twenties - fingers plus toes. Dots = 1, bars = 5, each column is a place (1, 20, 400, 8000, 160k …). The shell at the bottom is zero - the only one of the four systems with its own zero glyph.
Babylonian is sexagesimal: 60 seconds, 60 minutes, 360 degrees - all Mesopotamian inheritance. Vertical wedges = 1, corner wedges = 10, each column multiplies by 60.
Egyptian is purely additive: one glyph per power of 10, repeated up to nine times. Stroke = 1, arch = 10, coil = 100, lotus = 1,000, pointing finger = 10,000, tadpole = 100,000, Heh god = 1,000,000.
Acrophonic means the symbol is the first letter of the number word. Ι = one, Π (pente) = 5, Δ (deka) = 10, Η (hekaton) = 100, Χ (chilioi) = 1,000, Μ (myrioi) = 10,000. The Π encloses the next-smaller symbol to mean ×5: ΠΔ = 50, ΠΗ = 500, ΠΜ = 50,000.
Runs in your browser. No network call. No account.
Why VL is wrong and XLV is right
This is the most common tattoo trap: someone wants to write 45, reasons "L is 50, minus V is 45", and gets VL inked. That's wrong. The Roman subtractive rule only allows a base unit to precede the next or second-next ten-step: I before V or X, X before L or C, C before D or M. V, L and D, by contrast, are half-steps - they never lead a subtraction.
The cleanest pedagogical reason comes from Doctor Rick (The Math Doctors): without this rule, XIIX would be ambiguous - 10+8 = 18, or 11+9 = 20, or 12+10 = 22? The strict form XVIII only has one reading. That's why the converter above ships with a strict-mode validator: type VL and the amber correction strap appears, explains why, and shows the canonical form XLV you can apply with one click.
A documented real-world case: a husband once tattooed XICMXIX thinking it meant 01.01.2019. By the classical rules XICMXIX isn't actually a valid Roman numeral at all - I may not subtract from C, and the way XI runs into CM mixes subtractive pairs in a way no canonical reading allows. The viral "11,919" reading from tabloid coverage is just one ad-hoc attempt to assign some number to the letters; it's not a canonical translation. The correct Roman form for 01.01.2019 is I·I·MMXIX. Verify-before-permanent isn't a marketing slogan - this is exactly the construction the converter's strict mode is built to catch.
IIII or IV - both correct, by context
Many clock faces show IIII instead of IV. That's convention, not error. Three common explanations:
- Visual symmetry: with
IIII, the left half of the dial (IIII, V, VI, VII, VIII) becomes a counterweight to the right half (VIII, IX, X, XI, XII). Each half has the same total stroke count. - Readability when rotated: when the clock is held sideways (e.g. on a wall),
IIIIis harder to misread asVIthanIVis. - Royal vanity: King Louis XIV is said to have claimed
IVas the opening of his name. Historically unconfirmed but persistently retold.
The strict mode rejects IIII (more than three repeats are forbidden in the academic norm). Loose mode accepts it and annotates: clock convention; IV is the academic standard. Switch to Loose mode via the tabs above when you decode films with MMMM (4000) or replicate a clock face with IIII.
Why Romans didn't have zero and Maya did
The Roman system has no zero glyph. An empty column was described in medieval Latin with the word nulla ("nothing") once accountants started using the abacus. A dedicated zero ciphers emerged independently in three places:
- Mesoamerica and Maya: the shell (or lima-bean-shaped glyph) as a positional placeholder. Mesoamerican Long Count inscriptions show the concept by the late 1st century BCE; securely-attested Maya zero glyphs come slightly later. Necessary because Maya numerals are positional in steps of 1, 20, 400, 8000 - an empty step needs a symbol.
- Babylonia (late period, from c. 300 BCE): two small slanted wedges as a placeholder between columns - but not at the end of a number.
- India (from c. 5th century CE): the word
shunya("emptiness") promoted to a numeral and concept. Persiansifrand Arabicsifr("empty") later became ourcipherand the GermanZiffer.
The additive Roman system didn't need zero - an empty step was simply omitted. But that property is also exactly what makes Roman numerals unsuited to arithmetic. Try multiplying MCMXCIX × XVII longhand.
Decoding film credits: MCMLXXXIV = 1984
The most familiar Roman date is the copyright line at the end of a film. Hollywood's longstanding convention was to write the release year in Roman numerals - a habit some attribute to a desire to obscure the film's age before TV reruns. Classics:
MCMLXVIII= 1968 (Stanley Kubrick's "2001: A Space Odyssey" carries this in its original end credits)MCMLXXXIV= 1984 (M + CM + LXXX + IV)MCMXCIX= 1999 (M + CM + XC + IX)MMXXIV= 2024 (MM + XX + IV)
Type a film's credit string into the converter and the auto-detect picks up the Roman form, decodes it to a decimal, and shows the derivation. For pre-1900 films it's worth toggling Loose mode, since older silent-era credits sometimes used MMMM or non-canonical forms.
Maya, Babylonian, Roman - three answers to "how do you write 60?"
The comparison tiles next to the converter render the same input in four historic systems. Take 60 as an example.
- Roman:
LX- subtractive-additive, base-free. - Maya: 3 dots above a shell (3·20 = 60, with zero in the units position). Vigesimal, base 20.
- Babylonian: a single vertical wedge in the 60s column. Sexagesimal, base 60. This is exactly the system that gave us 60 seconds, 60 minutes, and 360 degrees.
- Egyptian: 6 arches (6·10). Additive, base 10.
- Greek attic: ΠΔ (Π containing Δ) plus 1×Δ - acrophonic (the symbol is the first letter of the number word).
Maya and Babylonian are positional (place determines value); Egyptian and Greek attic are purely additive (glyphs add up regardless of order). The Roman system is the only one of the bunch that's non-positional and mixes additive with subtractive notation: LX is 60 (additive, L+X), XL is 40 (subtractive, L−X). Same two letters, opposite order - the value comes from the magnitude of the symbols, not from where they sit.
What the converter does
- Auto-detect between arabic and Roman input.
1984andMCMLXXXIVboth work, no mode toggle. - Strict validation with reasons.
VL,IL,IC,IIII,MMMM,XIIXare all flagged - with a one-line reason and the canonical form one click away. - Derivation per conversion as colored building blocks. Ones = amber, tens = teal, hundreds = brand blue, thousands = ink grey.
- Year mode with D/M/Y fields and a verify-before-permanent share link. The result is dot-separated (
I·I·MMXIX). - Loose mode for clock-face
IIIIand film-creditMMMM. Validation still flags genuinely invalid forms. - Auto vinculum (×1,000) for numbers above 3,999. Each symbol in the thousands component gets an overline meaning ×1,000 -
V̅= 5,000,M̅= 1,000,000. Maximum range: 3,999,999. - Comparison panel: Maya (with the zero shell), Babylonian (cuneiform wedges), Egyptian (stroke / arch / coil / lotus), Greek attic (Ι/Π/Δ/Η/Χ with the Π-Δ ligatures for 50/500). Each tile in its own accent color with a one-paragraph explainer of the base.
- URL round-trip: the mode lives in the URL as a query parameter; the input itself is added only when you click
Share linkand copy the permalink. Defense in depth: an incoming share link's input is read into state and then actively scrubbed from the address bar so it doesn't leak into browser history, server access logs, or analytics URL capture.
Local logic, no server round-trip. The only network calls are font and analytics - neither one is needed for the conversion.
Frequently asked
Why is VL not a Roman numeral?
Because V, L and D never lead a subtraction. Allowed are I before V/X, X before L/C, C before D/M. So 45 is XLV, not VL.
Why do clocks show IIII instead of IV?
Symmetry and readability. The left half of a dial reads better with IIII as a visual balance, and it's harder to misread sideways. The academic norm is IV; the converter's Loose mode allows both.
Did the Romans have a zero?
No. The Maya had their shell, the Babylonians later added a double-wedge, the Indians coined shunya. Romans didn't need a zero because their system is additive.
How do you write 1984 in Roman numerals?
MCMLXXXIV. Derivation: 1000 + 900 + 80 + 4 = M + CM + LXXX + IV.
What is the largest Roman numeral?
3,999 (MMMCMXCIX) without extensions. With vinculum (overline = ×1,000), up to 3,999,999.