The profile uses I, V, X, L, C, D and M and represents every integer from 1 through 3,999 with a unique greedy spelling. It has no symbol for zero and does not extend M with overlines or Unicode numeral glyphs.
Largest components come first
Encoding repeatedly takes the largest available component from M down to I. The table includes subtractive components such as CM and IV, so 944 becomes CM + XL + IV rather than a longer additive spelling.
The interval is a product boundary
Values below 1 or above 3,999 are refused instead of inventing notation. This keeps validation, examples and round-trip checks deterministic across browsers and languages.
Verify the receiving convention
RomanClear uses the explicit modern 1–3,999 profile shown on every result. Historical inscriptions, clock faces, editorial house styles and organization-specific conventions may use other forms. Compare important output with the convention required by the document or system that will receive it.