Random Number Generator
Pick a number in any range — whole or decimal, one or a thousand at once. Force no repeats, sort the results, then copy or download. All cryptographically random, all in your browser.
Random, the way you'd actually want it
Most "random" code reaches for Math.random(), which is fast
but not built for fairness — and naive ranged code skews toward the
small end. This tool uses the browser's cryptographic generator and
rejection sampling, so a roll from 1 to 6 is genuinely even and a draw
from a million is just as unbiased.
How to use it
- Set the range. Type a minimum and maximum — negative numbers are fine, and swapped bounds are sorted out for you.
- Choose the count and type. Draw a single value or up to a thousand, as whole numbers or decimals rounded to the places you pick.
- Tune and grab. Force no repeats, sort the list, then
copy everything or download a
.txtfile.
Handy for
- Draws and giveaways — pick a winner from a numbered list.
- Dice and games — roll anything from a d6 to a d100.
- Test data — seed columns with realistic-looking numbers.
- Sampling — grab unique row numbers to spot-check.
Frequently asked questions
How random are these numbers?
They come from crypto.getRandomValues, the browser's cryptographic random source — the same generator used for keys and tokens. Whole numbers are drawn with rejection sampling so every value in the range is equally likely, with no modulo bias toward the low end.
Can I draw numbers with no repeats?
Yes. Tick 'No repeats' and each whole number in your range can appear at most once, like drawing raffle tickets without putting them back. You can't request more unique numbers than the range contains.
What's the largest range I can use?
Any integers JavaScript can represent exactly work, up to about 9 quadrillion. You can also flip to decimals and choose how many places to round to, from whole numbers up to ten digits.
Is this good for a giveaway or raffle?
It's great for casual draws — set the range to your entrant count and pick a winner. For anything with money or legal weight on the line, use a process the participants can independently verify.
Are the numbers generated privately?
Yes. Everything happens locally in your browser. No range, count or result is ever sent to a server.