Roman numeral calculator

Convert a number or add and subtract two numbers in Roman notation.

Calculation
Integer Enter an integer from 1 to 3999. Or enter a Roman numeral in canonical form, such as XIV.
Conversion example
2026 → MMXXVI
Place values: 2000 + 20 + 6

Conversion and calculation rules

Only integers from 1 to 3999 and canonical modern subtractive Roman numerals are supported; zero, negative numbers, decimals and overline extensions are not supported.

Lowercase letters are converted to uppercase and only outer whitespace is removed; a Roman numeral is valid only if it matches the canonical form obtained by converting its value back to Roman notation.

Addition and subtraction results must also be within 1–3999; results outside this range are shown as integers without a Roman numeral.

The example numbers are for learning; this tool does not convert dates or era names.

Add the symbol values M=1000, D=500, C=100, L=50, X=10, V=5 and I=1, treating CM, CD, XC, XL, IX and IV as subtractive pairs whose value is the larger symbol minus the smaller one.

Frequently asked questions

How does subtractive notation work?
In CM, CD, XC, XL, IX and IV, the smaller symbol before the larger one is subtracted; the resulting pair values and the remaining symbol values are added.
Why are zero and negative numbers unsupported?
This tool uses canonical modern Roman notation for integers from 1 to 3999, so it has no Roman representation for zero or negative numbers.
What happens if an addition or subtraction result is out of range?
The integer result and the reason no Roman numeral is available are shown; change an input to get a result from 1 to 3999, and the out-of-range result cannot be copied as a Roman numeral.
Can I use lowercase letters or forms such as IIII and IC?
Lowercase letters are converted to uppercase and outer whitespace is removed, so xiv is accepted as XIV; IIII and IC are rejected rather than automatically corrected.

Privacy on this page

Calculations run in your browser, and semku does not send your calculation inputs or results to the server or keep them in browser storage. Once you edit an input, the mode and both inputs are included after the # in the URL, so sharing the URL also shares those inputs. This part is not included in the page request sent to the server.

To understand how the page is used and to improve the service, this page sends semku’s own usage statistics and automatic error reports. They go only to the dedicated endpoint under semku.com/api/telemetry/v1/. They are not used for advertising or third-party tracking.

The usage statistics include stages of use (such as starting an operation or requesting a copy), the times they occur and fixed identifiers that distinguish the page and feature. They do not include the integers or Roman numerals you enter, either operand, the selected mode, conversion or calculation results, place-value decompositions or copied text. Inputs are not sent as hashes or as size categories either. The full URL and search terms are not sent.

Operations and sessions are distinguished by randomly generated identifiers. In the browser, these identifiers exist only in temporary memory and are not written to cookies or browser storage. No identification based on cookies or combined device characteristics is used.

Error reports contain the error type, code and time, and, where available, a registered program-source identifier with line and column numbers. The error message text and stack traces are not sent. Usage statistics and error reports also carry the site identifier, the deployment version and a random record identifier. For access records such as IP addresses, browser signals (User-Agent Client Hints), region and language, see the paragraph below.

The feedback form sends the rating you chose and the text you typed in the free-text field when you press the send button. The form also sends a random ID that distinguishes the submission, along with the page, site, deployment version and type of request. There are no fields for your name, email address or phone number, and the integers or Roman numerals you enter, either operand, the selected mode, conversion or calculation results, place-value decompositions or copied text are not attached automatically. Before sending your text, the widget removes leading and trailing whitespace and, if you selected a rating, adds [+1] or [-1] at the start; it makes no other changes to your text. After receipt, the collector standardizes line endings and removes leading and trailing whitespace. Please do not enter personal data, passwords, authentication keys or payment details.

To improve the service, we record the country and state/province-level region at the time of your visit (an estimate based on the connecting network), which site you came from including the page path, and one display-language setting announced by your browser (for example, en-US). Location is kept to country and region only; no city or precise position is recorded. When you use the service, connection records, including your IP address, are automatically generated and retained to maintain service security and identify abnormal access. Cloudflare is the data processor for this site. Collection of this item is enabled only after this notice is published; we do not collect it retrospectively for use before collection is enabled. Query strings such as search terms are not recorded, and neither is the full list of preferred languages or the raw request headers. Collection of this information is currently disabled and will only be enabled after this notice is published. If we enable collection, we will collect and use signals your browser reports about its type and version, along with an indication of whether automation tools are being used, to identify bots. These browser signals are estimates and do not conclusively identify your browser's type or version or whether automation tools are being used. We do not collect it retrospectively for use before collection is enabled. The raw User-Agent request header is not recorded. These records are per visit only and use no identifier that links one visit to another. Recording starts only with visits after this notice is published and is not applied retroactively to earlier visits. The region and the referring site have been recorded since 2026-09-20; the display language since 2026-09-24. Browser signals are not recorded yet.

Separately, when you visit the site, the hosting provider records your IP address, the time of the request and user-agent information about your browser and device in Cloudflare Pages’ standard access logs.

For details, see the privacy policy.

Calculations run in your browser without sending your calculation inputs or results to the server.