This tool generates a set of lottery numbers for any draw format. You set the number pool, how many numbers to pick and an optional separate bonus pool, and it returns a sorted set of unique numbers plus a bonus ball. It is for players who want a quick, fair “lucky dip” without thinking up numbers themselves.
How it works
The main numbers are drawn using a partial Fisher–Yates shuffle over the range 1 to the pool size, which guarantees a set of distinct numbers with no repeats. The randomness comes from the browser’s Web Crypto API (crypto.getRandomValues) with rejection sampling, so every number in the range is equally likely and there is no modulo bias. The final set is sorted into ascending order for easy reading. The bonus ball, if used, is drawn separately from its own pool, exactly as real lotteries handle it.
Example
For a classic 6-from-49 draw with a bonus from a pool of 49:
| Setting | Value |
|---|---|
| Number pool | 49 |
| Numbers to pick | 6 |
| Bonus pool | 49 |
| Example result | 4, 17, 23, 31, 38, 45 + bonus 12 |
Each click produces a fresh, unique set. Everything runs in your browser using the Web Crypto API — nothing is uploaded or saved.