How the numbers are chosen
The generator uses your browser's cryptographically secure random source (the Web Crypto API) rather than the simpler Math.random function. It draws a random 32-bit value and, to avoid a subtle error called modulo bias, throws away values that would make some numbers slightly more likely than others. That is called rejection sampling. The result is that every whole number in your range has exactly the same chance of being picked.
Whole numbers, decimals and repeats
By default the tool produces whole numbers from the minimum to the maximum, both included. Choose decimal places to produce values such as 12.37: the range is scaled to hundredths (or tenths, or thousandths), a whole number is drawn and then scaled back. Tick "No repeats" to draw without replacement, as in a lottery or raffle. The tool will tell you if you ask for more different numbers than the range can contain, for example ten unique numbers between 1 and 5.
Common uses
- Picking a winner for a giveaway by numbering the entries and drawing a number.
- Choosing random sample items for testing or classroom activities.
- Generating dice-style results, such as numbers between 1 and 6, or between 1 and 20 for tabletop games.
- Producing test data or placeholder values.
- Making a quick decision when you cannot pick between numbered options.
Limits and fairness
The generator is suitable for games, sampling and everyday decisions. Do not use it for regulated gambling, security keys or anything that requires an audited random source. For passwords use the password generator on this site. Each press of the button creates a new, independent set of numbers; the page cannot guarantee that a number will not appear again in a later draw, which is true randomness. Up to 1,000 numbers can be drawn at once. Nothing is stored or sent from your browser.