Calculator
Random Number Generator
Generate random whole numbers in any range.
How random are these numbers?
This generator uses your browser’s built-in pseudo-random number generator (JavaScript’s Math.random()), scaled to your chosen range. It’s statistically well-distributed and more than sufficient for everyday uses like picking a name, deciding a game order, or generating sample data.
Frequently asked questions
Is this suitable for a raffle, giveaway or lottery?
For casual/informal use, yes. For anything with real money or legal stakes riding on the outcome, use a generator built specifically for verifiable fairness (often using a cryptographic random source and an auditable process), since a standard browser random function isn't designed to resist manipulation claims.
What does "no duplicates" change?
With duplicates allowed, each number is picked independently, so the same number can appear more than once. With "no duplicates" checked, the generator builds the full range as a pool and shuffles it, then takes as many as you asked for — this only works if your requested count doesn't exceed the size of the range.
Why does it say I can't generate that many unique numbers?
If you ask for more unique numbers than exist in your min-max range (e.g. 20 unique numbers between 1 and 10), it's mathematically impossible — there simply aren't enough distinct values available. Widen the range or reduce the count to fix this.
Is Math.random() truly random?
It's pseudo-random — generated by a deterministic algorithm seeded in a way that makes the output unpredictable for practical purposes, but not truly random in the way physical processes (like radioactive decay) are. This distinction only matters for cryptographic or high-stakes fairness applications, not everyday number picking.