Random Number Generator
Generate random numbers in any range, with or without duplicates. Cryptographically strong, instant, and fully client-side.
Runs in your browser — nothing uploaded
Settings
Generate random numbers in any range, instantly. Pick a minimum and maximum, choose how many you need, and decide whether duplicates are allowed — great for raffles, giveaways, sampling, games, and picking a winner fairly. Powered by your browser's cryptographic random source.
Private by design — your data never leaves your device
How to use it
No account, no upload — it all happens on your device.
1
Set the minimum and maximum of your range.
2
Choose how many numbers to draw.
3
Tick 'No duplicates' for a unique draw, like a lottery.
4
Click Generate, then Copy the results.
Common ways people use it
One range, many jobs.
| Task | Settings |
|---|---|
| Pick a giveaway winner | Min 1, max = number of entries, 1 number |
| Roll a die | Min 1, max 6, 1 number |
| Draw lottery numbers | Min 1, max 49, 6 numbers, no duplicates |
| Random sample of rows | Min 1, max = row count, no duplicates |
Why crypto random matters
- Fairness. For giveaways and draws, a biased generator can subtly favor some numbers. Crypto random plus rejection sampling keeps every outcome equally likely.
- Unpredictability.Unlike a seeded pseudo-random generator, results can't be reproduced or guessed from previous draws.
Frequently asked
Are the numbers truly random?
They use the Web Crypto API (crypto.getRandomValues), the same cryptographically strong source browsers use for security. It's far higher quality than Math.random and uses rejection sampling so every number in your range is equally likely.
What does 'no duplicates' do?
It draws unique numbers, like pulling raffle tickets without putting them back. You can't request more unique numbers than the range holds — a 1–10 range can give at most 10 unique values.
Is anything sent to a server?
No. The numbers are generated in your browser and never leave your device.