Random number generator
Draw random numbers by range, count and uniqueness.
You need six numbers between 1 and 45 for a draw, a random seat number for a workshop, or a quick tiebreaker that nobody can argue with. Typing numbers yourself is never really random — people gravitate to the same digits.
This generator picks numbers for you from whatever range you set, with the option to guarantee every number comes out different.
How it works
What the four controls do
| Field | What it means |
|---|---|
| Minimum / Maximum | The range to draw from. Both ends are included, so 1–45 can return 1 or 45. |
| Count | How many numbers to pull in one go. |
| No duplicates | On by default. Every number in the result is different. |
| Sort ascending | Displays the result in increasing order instead of draw order. |
Press Generate for a new draw, or Copy to put the result on your clipboard.
How the randomness works
Numbers come from crypto.getRandomValues(), the browser's cryptographic random source, not from Math.random(). To keep every value equally likely, the tool discards raw values that fall in the leftover tail of the 32-bit range before taking the remainder — without that step, low numbers would come up slightly more often. There is no seed and no history: each press is independent.
Two things to watch
If you enter a minimum larger than the maximum, the tool quietly swaps them rather than failing. But if No duplicates is on and you ask for more numbers than the range holds — say 10 unique values out of 1–5 — it stops and tells you, because that draw is impossible.
Terms explained
- Range
- The span between minimum and maximum. Both endpoints are included in the draw.
- No duplicates
- Sampling without replacement — once a number is drawn it cannot appear again in the same result.
- Sort ascending
- A display option only. It reorders the output and does not change which numbers were drawn.
- crypto.getRandomValues
- The browser API that produces cryptographically strong random values, used here instead of Math.random().
- Uniform distribution
- Every number in the range has the same chance of being picked, with no bias toward the low or high end.
Frequently asked questions
Is this actually random, or does it follow a pattern?
It uses the browser's cryptographic random generator, which is designed to be unpredictable and has no repeating cycle you could observe. Each press is independent of the last, so patterns you notice across draws are coincidence rather than structure.
Can I use it to pick lottery numbers?
You can draw numbers in any range, including the ranges lottery games use. Keep in mind that no generator improves your odds — every combination has the same chance regardless of how it was chosen.
Why did the same number appear twice?
The "No duplicates" checkbox is probably unchecked. With it off, each pick is drawn independently, so repeats are normal and expected.
Do my results get saved anywhere?
No. Everything runs inside your browser and nothing is sent to a server or stored. Refreshing the page clears the result, so copy it if you need to keep it.
What is the largest range I can use?
Any range your browser can hold as a whole number works, so ordinary uses like 1–1000 or 1–1000000 are fine. Very large counts simply take a moment longer to render.
Tell us what went wrong and we'll fix it fast. (Leave an email if you'd like a reply.)