Generate one or many random numbers in any range you choose — for raffles, prize draws, lottery picks, sampling, dice and decisions. Numbers come from the browser’s Web Crypto API, a cryptographically strong source, with modulo bias removed so every value is equally likely.
How it works
You set a minimum, a maximum, and how many numbers you want. For each value the tool requests random bytes from crypto.getRandomValues and maps them into your range using rejection sampling: it discards any raw value that falls in the uneven top portion of the byte range and re-draws, which eliminates modulo bias and keeps every integer from min to max (inclusive) exactly equally likely.
With No repeats enabled, the tool draws unique values — effectively shuffling the range with an unbiased Fisher–Yates shuffle and taking the first N — so no number appears twice, provided the range is large enough to supply the count you asked for.
Example
Range 1 to 50, count 6, No repeats on. A draw might be:
7 · 19 · 23 · 31 · 42 · 49
All six are distinct, suitable for a lottery-style pick. Turn No repeats off and the same number could appear more than once, like rolling the same value twice.
| Setting | Meaning |
|---|---|
| Min / Max | Inclusive bounds of the range |
| Count | How many numbers to draw |
| No repeats | Forces all results to be unique |
Everything runs entirely in your browser — nothing is uploaded.