# Roman numerals

URL: https://www.toolflux.app/en/roman-numerals/
Stand: 2026-06-05

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).

## 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:

1. **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.
2. **Readability when rotated**: when the clock is held sideways (e.g. on a wall), `IIII` is harder to misread as `VI` than `IV` is.
3. **Royal vanity**: King Louis XIV is said to have claimed `IV` as 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. Persian `sifr` and Arabic `sifr` ("empty") later became our `cipher` and the German `Ziffer`.

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. `1984` and `MCMLXXXIV` both work, no mode toggle.
- **Strict validation with reasons.** `VL`, `IL`, `IC`, `IIII`, `MMMM`, `XIIX` are 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 `IIII` and film-credit `MMMM`. 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 link` and 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.

## 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.

### FAQ

**Why is VL not a Roman numeral?**

Because V, L, and D never lead a subtraction. The Roman subtractive rule only allows a base unit (I, X, C) to precede the next or second-next ten-step: IV (5−1), IX (10−1), XL (50−10), XC (100−10), CD (500−100), CM (1000−100). VL would mean 50−5 = 45 - but 45 is `XLV`. V, L, D are half-steps; they encode the half-thousand, half-hundred, half-ten, and that's exactly why they never lead. Doctor Rick frames the pedagogical reason: without the rule, `XIIX` would be ambiguous - 10+8 = 18, or 11+9 = 20, or 12+10 = 22? The converter shows you `VL → XLV` directly when you mistype.

**Why do clocks show IIII instead of IV?**

Many clock faces show IIII instead of IV - for visual symmetry. The left half of the dial (IIII, V, VI, VII, VIII) becomes a balanced counterweight to the right (VIII, IX, X, XI, XII). `IIII` is also harder to misread as `VI` when you tilt the clock. A third oft-told reason: King Louis XIV is said to have claimed `IV` for the start of his name - historically unconfirmed but persistently retold. Either way, the clock convention is a deliberate departure from the academic norm. In the converter, switch to Loose mode to allow `IIII` and `MMMM`.

**Did the Romans have a zero?**

No - the Roman system has no zero glyph. Only the Latin word `nulla` (nothing) appeared in the 6th century, when accountants needed to describe an empty column. Dedicated zero numerals emerged independently elsewhere: Mesoamerican Long Count inscriptions show a zero placeholder by the late 1st century BCE, with securely-attested Maya zero glyphs coming somewhat later; the Babylonians eventually adopted a placeholder double-wedge in the late period; and Indian mathematicians from the 5th century CE onward developed the modern concept of zero (`shunya`), which travelled through Persian and Arabic mathematics into Europe. The comparison panel below the converter shows the Maya shell - the only one of the four systems with a dedicated zero glyph.

**How do I write a year as Roman numerals?**

Switch to Year mode in the converter. It accepts D, M, Y in three separate fields and outputs `D·M·YYYY`, e.g. 1.1.2019 → `I·I·MMXIX`, 25.12.1984 → `XXV·XII·MCMLXXXIV`. Years above 3,999 use vinculum (overline = ×1,000). The output panel includes a `Verify before tattoo / inscription / engraving` chip and a copy-link button - share the URL with whoever's about to engrave it before it's permanent. A documented case: someone tattooed `XICMXIX` thinking it meant 01.01.2019. The actual canonical Roman numeral for that date is `I·I·MMXIX` - `XICMXIX` is malformed and not a valid Roman numeral at all.

**What is the largest Roman numeral?**

Without extensions: 3,999 (`MMMCMXCIX`). Beyond that you'd need `MMMM`, which breaks the repeat rule (M, C, X, I may repeat at most three times in canonical form). With vinculum (overline = ×1,000), the range extends to 3,999,999 - a `V̅` with an overline means 5,000, an `M̅` means 1,000,000. This notation appears in late-antique inscriptions and manuscripts. The converter switches to vinculum notation automatically as soon as your input goes above 3,999, and shows an info banner explaining what's happening.

**How do Mayan numerals work?**

Vigesimal - base 20, because fingers plus toes. Dots = 1, bars = 5, stacked in columns from bottom to top for places 1, 20, 400, 8000. The shell is the zero glyph. So 1984 in Maya is three columns: 4 dots on top (4·400 = 1600), 19 (three bars + four dots) in the middle (19·20 = 380), 4 dots at the bottom (4·1 = 4) = 1984. The Maya tile beside the converter shows this stacking live.
