Generate one or more random numbers between any range. Supports unique picks, presets for dice and card decks, and shows the probability behind every result.
Every random number produced here starts with a single call to the browser's built-in random number generator. That function returns a decimal between 0 and 1, which is then scaled and shifted to land inside your chosen range. The formula is floor(random() × range) + minimum, where range is the count of integers from your minimum to your maximum inclusive. The result is always a whole number, and every number in the range has exactly the same chance of appearing.
Computers cannot generate truly random numbers from logic alone. What they produce is called a pseudorandom sequence: a long, unpredictable-looking series of numbers that is actually determined by a starting value called a seed. For everyday use, picking raffle winners, deciding who pays for lunch, or running simulations, this is more than sufficient. For cryptographic or high-security applications, a dedicated source of hardware entropy is used instead.
The no-duplicates mode works differently. Rather than picking independently each time, it builds a pool of every integer in your range and shuffles the entire list using the Fisher-Yates algorithm. It then takes numbers from the front of the shuffled list. This guarantees that no number appears more than once, no matter how many you request.
We use analytics cookies to understand how people use Denumb so we can make it better. No selling your data. We only use it to improve Denumb. Privacy policy →