I often have to generate a sequence of Roman numerals so I created this simple online utility that does it for me. It lets you generate as many Roman numbers as you need, starting from a specific number. It works in the browser and is powered by alien technology from the future.

Roman Numeral Generator Options

Range and Count
Step and Separator
Decimal Values
Print a decimal number in parentheses after each numeral.

Roman Numeral Generator Examples (click to try!)

Roman Numerals 1 to 100
In this example, we generate a semicolon-separated sequence of the first one hundred Roman numbers. To do this, we activate the mode that generates a specific count of numerals and set the start value equal to 1, count equal to 100, and step equal to 1.
I; II; III; IV; V; VI; VII; VIII; IX; X; XI; XII; XIII; XIV; XV; XVI; XVII; XVIII; XIX; XX; XXI; XXII; XXIII; XXIV; XXV; XXVI; XXVII; XXVIII; XXIX; XXX; XXXI; XXXII; XXXIII; XXXIV; XXXV; XXXVI; XXXVII; XXXVIII; XXXIX; XL; XLI; XLII; XLIII; XLIV; XLV; XLVI; XLVII; XLVIII; XLIX; L; LI; LII; LIII; LIV; LV; LVI; LVII; LVIII; LIX; LX; LXI; LXII; LXIII; LXIV; LXV; LXVI; LXVII; LXVIII; LXIX; LXX; LXXI; LXXII; LXXIII; LXXIV; LXXV; LXXVI; LXXVII; LXXVIII; LXXIX; LXXX; LXXXI; LXXXII; LXXXIII; LXXXIV; LXXXV; LXXXVI; LXXXVII; LXXXVIII; LXXXIX; XC; XCI; XCII; XCIII; XCIV; XCV; XCVI; XCVII; XCVIII; XCIX; C
Generate a Number of Roman Numerals
Starting number (decimal value).
Number of Roman numerals.
Difference between two Roman numerals (decimal value).
Roman numeral separator.
Show Decimal Values
Even Roman Numbers
In this example, we create a printout of all even Roman numbers from the range of 2 to 200. To jump over all odd values, we set the delta value to 2. We also activate the "Show Decimal Values" option to see which integer each Roman numeral corresponds to.
II (2)
IV (4)
VI (6)
VIII (8)
X (10)
XII (12)
XIV (14)
XVI (16)
XVIII (18)
XX (20)
XXII (22)
XXIV (24)
XXVI (26)
XXVIII (28)
XXX (30)
XXXII (32)
XXXIV (34)
XXXVI (36)
XXXVIII (38)
XL (40)
XLII (42)
XLIV (44)
XLVI (46)
XLVIII (48)
L (50)
LII (52)
LIV (54)
LVI (56)
LVIII (58)
LX (60)
LXII (62)
LXIV (64)
LXVI (66)
LXVIII (68)
LXX (70)
LXXII (72)
LXXIV (74)
LXXVI (76)
LXXVIII (78)
LXXX (80)
LXXXII (82)
LXXXIV (84)
LXXXVI (86)
LXXXVIII (88)
XC (90)
XCII (92)
XCIV (94)
XCVI (96)
XCVIII (98)
C (100)
CII (102)
CIV (104)
CVI (106)
CVIII (108)
CX (110)
CXII (112)
CXIV (114)
CXVI (116)
CXVIII (118)
CXX (120)
CXXII (122)
CXXIV (124)
CXXVI (126)
CXXVIII (128)
CXXX (130)
CXXXII (132)
CXXXIV (134)
CXXXVI (136)
CXXXVIII (138)
CXL (140)
CXLII (142)
CXLIV (144)
CXLVI (146)
CXLVIII (148)
CL (150)
CLII (152)
CLIV (154)
CLVI (156)
CLVIII (158)
CLX (160)
CLXII (162)
CLXIV (164)
CLXVI (166)
CLXVIII (168)
CLXX (170)
CLXXII (172)
CLXXIV (174)
CLXXVI (176)
CLXXVIII (178)
CLXXX (180)
CLXXXII (182)
CLXXXIV (184)
CLXXXVI (186)
CLXXXVIII (188)
CXC (190)
CXCII (192)
CXCIV (194)
CXCVI (196)
CXCVIII (198)
CC (200)
Generate a Range of Roman Numerals
Range start (decimal value).
Range end (decimal value).
Difference between two Roman numerals (decimal value).
Roman numeral separator.
Show Decimal Values
Roman Hundreds
In this example, we generate a list of Roman numerals that starts at 100, includes only every 100th value, and ends at 1000. In the output, there are exactly 10 values, such as C (100), D (500), and M (1000). The numerals are separated with the symbol "\n", which prints them in a vertical column.
C (100)
CC (200)
CCC (300)
CD (400)
D (500)
DC (600)
DCC (700)
DCCC (800)
CM (900)
M (1000)
Generate a Number of Roman Numerals
Starting number (decimal value).
Number of Roman numerals.
Difference between two Roman numerals (decimal value).
Roman numeral separator.
Show Decimal Values

How Does This Roman Numeral Generator Work?

This Roman number generator works entirely in your browser and is written in JavaScript. It creates a list of Roman numerals by generating regular decimal numbers (base 10 numbers) and converting them to the ancient Roman writing system. To generate Roman numerals from a specific range, it uses a loop for (var i = startRange; i <= endRange; i += step). The values startRange, endRange, and step are integers that can be changed in the options. At each iteration, it converts the decimal number i to a Roman number via the toRoman conversion function. This function is imported from the Roman JavaScript library and it's designed to assign symbols I, V, X, L, C, D, M to decimal numbers 1, 5, 10, 50, 100, 500, 1000. Each return value from the toRoman function is assigned to the roman variable that is then appended to the romList array. To generate a specific count of Roman numerals, it initializes the startCount, count, and step variables from the options and uses a different loop for (var i = 1; i <= count; i++). In the loop, it calls the roman = toRoman(startCount) function and increments startCount by the step value (difference between two numerals). Each roman value is then pushed to the romList array. After filling the romList array with all numerals, they are converted into strings via romList.join(romSep) function, where romSep is the separator character that gets inserted between numerals, and then they are all displayed to the screen in text format.

Created by Browserling

This roman numeral generator was created by me and my team at Browserling. Behind the scenes, it's actually powered by our programmer tools that are used by millions of people every month. Browserling itself is an online cross-browser testing service powered by alien technology. Check it out!

Secret message: If you love my tools, then I love you, too! Use coupon code TOOLLING to get a discount at my company.