Roman Numeral Converter Convert Numbers to Roman Numerals

Convert numbers to Roman numerals and vice versa. Essential tool for students, historians, and anyone working with classical numbering systems.

Bidirectional Conversion
1-3999 Range
Educational

Input

Enter a number or Roman numeral to convert

Roman numerals traditionally support numbers from 1 to 3999

Result

Conversion result will appear here

Enter a number or Roman numeral and click "Convert" to see the result

Number to Roman

Convert Arabic numerals to traditional Roman numerals

Roman to Number

Convert Roman numerals back to Arabic numbers

Educational

Learn about Roman numeral rules and history

Understanding Roman Numerals & Classical Numbering

What are Roman Numerals?

Roman numerals are a numeral system originating in ancient Rome. They use combinations of letters from the Latin alphabet to signify values. The system uses seven symbols: I, V, X, L, C, D, and M, representing 1, 5, 10, 50, 100, 500, and 1000 respectively.

Basic Roman Symbols:

I = 1
V = 5
X = 10
L = 50
C = 100
D = 500
M = 1000

Subtractive Notation

Roman numerals use subtractive notation where a smaller number placed before a larger one means subtraction. For example, IV means 4 (5-1), IX means 9 (10-1), XL means 40 (50-10), and CD means 400 (500-100).

Common Subtractive Forms:

IV 4 (5-1)
IX 9 (10-1)
XL 40 (50-10)
XC 90 (100-10)
CD 400 (500-100)
CM 900 (1000-100)

Roman Numeral Rules

Addition Rule

Symbols are added together when a smaller value follows a larger one (VI = 6)

Subtraction Rule

Smaller symbols before larger ones are subtracted (IV = 4)

Repetition Limit

Most symbols can only repeat 3 times (III = 3, but 4 = IV)

Code Examples & Usage

JavaScript

// Roman numeral conversion functions function numberToRoman(num) { // Implementation here } function romanToNumber(roman) { // Implementation here } console.log(numberToRoman(2024)); // "MMXXIV" console.log(romanToNumber("MMXXIV")); // 2024

Python

def number_to_roman(num): # Implementation here pass def roman_to_number(roman): # Implementation here pass print(number_to_roman(2024)) # MMXXIV print(roman_to_number("MMXXIV")) # 2024