Generate one or more random whole numbers within any range you choose, with an option to avoid repeats.
This tool uses your browser's built-in random number generator (JavaScript's Math.random()) to produce a decimal between 0 and 1, then scales and rounds it to fit inside the minimum and maximum values you set. This is what's known as a pseudo-random number generator — the output looks random and passes most everyday randomness tests, but it's technically produced by a deterministic algorithm rather than a truly unpredictable physical process.
For everyday uses — picking a winner, choosing a random sample, deciding who goes first in a game, or generating test data — this level of randomness is more than sufficient. It is not intended for cryptographic purposes like generating encryption keys or security tokens, which require a cryptographically secure random source.
When "no repeated numbers" is off, each number generated is completely independent of the others — just like rolling a die multiple times, the same value can come up more than once. When it's turned on, the calculator keeps track of numbers it has already produced and generates a new one whenever a duplicate would occur, similar to drawing raffle tickets out of a hat without putting them back.
Keep in mind that unique mode has a natural limit: you can't generate more unique numbers than actually exist in your chosen range. Asking for 50 unique numbers between 1 and 10, for example, isn't possible, and the calculator will let you know if your request doesn't fit.
| Situation | What to do |
|---|---|
| Minimum is greater than maximum | The calculator will show an error — swap the values |
| Asking for more unique numbers than the range allows | Reduce the count or widen the min/max range |
| Need negative numbers | Just set the minimum to a negative value, e.g. −50 |