I often have to generate random Roman numerals so I created this simple online utility that does it for me. It lets you generate however many random Roman numbers you need from the given range. It works in the browser and is powered by alien technology from the future.

## Random Roman Numeral Generator Options

Roman Numeral Range
Count and Separator
Decimals and Repetitions

## Random Roman Numeral Generator Examples (click to try!)

A List of Random Roman Numbers
In this example, we generate a vertical list of 12 random Roman numerals from the range of 1 to 100. We allow selecting repeated values and also display a decimal number next to each Roman numeral to make it easier to interpret.
```XL (40)
XXVII (27)
XLIX (49)
LXII (62)
LIII (53)
XLIII (43)
LXV (65)
XXVIII (28)
LXXII (72)
LXIII (63)
XXIV (24)
XXXVIII (38)```
Range start (decimal value).
Range end (decimal value).
How many random Roman numerals to generate?
Roman numeral separator.
Show Decimal Numbers
Allow Repeating Numerals
Unique Roman Numerals
In this example, we use a much smaller range from 1 to just 14. In this range, there are exactly 14 Roman numbers and we also generate exactly 14 unique numbers from it. The selection covers the entire range and each value is displayed to the screen only once.
```III
XI
XIII
VII
IX
VIII
V
IV
II
I
X
XIV
XII
VI```
Range start (decimal value).
Range end (decimal value).
How many random Roman numerals to generate?
Roman numeral separator.
Show Decimal Numbers
Allow Repeating Numerals
Single Line Roman Numerals
This example selects twenty-five arbitrary Roman numbers with possible repetitions from the interval 1000 to 5000 and displays them in the output area as a single-line string with numbers separated by the comma character.
`MDCCCLXVI, MMMDCCCL, MDCCCXLII, MCXC, MMMCCIX, MMMMDCCCLXXII, MMCCVI, MMCCCXII, MMMDCCIV, MMMMDCCCXIV, MDCCLXXV, MMMMDCCCXXXI, MMMDCCXLVII, MMCCCV, MDLXIX, MCCCXXIII, MCXCV, MDCXXVIII, MMCXLVI, MMMDCLXXVII, MMLXXXIII, MMMDLXIV, MMXXXI, MCMXXVIII, MMMMXIII`
Range start (decimal value).
Range end (decimal value).
How many random Roman numerals to generate?
Roman numeral separator.
Show Decimal Numbers
Allow Repeating Numerals

## How Does This Random Roman Numeral Generator Work?

This random Roman numeral generator works entirely in your browser and is written in JavaScript. Generating random Roman numbers is similar to generating random integers (in decimal base). First, the program parses the range options `start` and `end`, and the `count` option that controls how many numbers will be printed in the output. Then, it starts a random number generation loop that runs from `0` to `count`. In the loop, it randomly picks an integer number from the range `[start, end]` using the formula `num = Math.floor(Math.random() * (end - start + 1)) + start`. Then, it converts the random number `num` to a Roman number by calling the function `toRoman(num)` from the `roman.js` library. This library parses a regular number and assigns Roman numerals I (1), V (5), X (10), L (50), C (100), D (500), M (1000) to digits in the correct order, so that, for example, 4 is correctly represented as IV and 9 as IX. Each picked Roman number is then `push`ed to the `output` array. If the "Show Decimal Numbers" option is enabled, then the `num` value is also appended to the Roman number. By default, the "Allow Repeating Numerals" option is enabled, which means the same numeral can be picked multiple times. If you need to generate only unique Roman numerals, then disable this option. When it's disabled, the generator makes an additional check to see if the `num` was already picked. The picked values are recorded in the `seenNums = {}` object. When a new `num` is pushed to the `output` array, it's being recorded as `seenNums[num] = 1`. This way only those `num`s that pass the `seenNums[num] === undefined` check get added to the `output` array. When the loop ends, the formed `output` array gets converted to a string by calling the function `join(separator)` and this string is then printed to the screen.

### Created by Browserling

This random 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.