A Fair Random Number, Every Time
This generator uses crypto.getRandomValues — the cryptographically secure random source built into your browser, the same one used for generating security keys — with rejection sampling, so every number in your range has an exactly equal chance. That's a meaningful step up from the basic Math.random() many generators use, which is designed for speed rather than fairness.
Common Uses
- Pick a number between 1 and 100 — settle it instantly, no fingers behind backs
- Raffles and giveaways — number the entries and draw without duplicates
- Lottery-style picks — e.g. 6 unique numbers from 1–49, sorted
- Classroom picks — random page, random question, random student number (or use the name picker for names)
- Games — any dice you don't have; for proper dice with history try the dice roller
FAQ
Can it generate negative numbers?
Yes — set the minimum to a negative value, e.g. −50 to 50.
What's the biggest range it supports?
Any range within ±1 trillion, and up to 1,000 numbers per draw.
Is the result influenced by previous draws?
No — every draw is independent. With duplicates allowed, the same number can absolutely come up twice in a row; that's what real randomness looks like.