How to Pick Random Numbers Without Repeats for a Raffle or Draw
Run a fair raffle, lucky draw or team pick with a random number generator: no duplicates, how to map numbers to names, and how to make the draw transparent.
The short answer
To draw winners fairly, number your entries from 1 to N, open the Random Number Generator, set Minimum to 1 and Maximum to N, choose how many winners you need, and tick No duplicate numbers. Each number maps to one entry, so no one can win twice. The generator uses your browser's cryptographic random source, the same one used for generating keys, rather than a simple predictable formula.
What the generator does
- Minimum and Maximum: whole numbers, both included. 1 to 100 can return 1 and 100.
- How many numbers: a slider from 1 to 100.
- No duplicate numbers: skips any number already drawn, so every result is different.
- Quick presets: 1–6 (dice), 1–100, 1–1000 and 0–1 (coin flip: call 0 heads and 1 tails, or the other way round, before you draw).
- Copy all puts the results on your clipboard, one per line, and Regenerate draws again with the same settings.
Random values come from crypto.getRandomValues, the browser's cryptographically secure random number generator. Nothing is sent to a server, and the results are not stored.
Step by step: a fair raffle or lucky draw
Example
Your society has 87 sign-ups for 3 prizes. Number the list 1 to 87, set Minimum 1, Maximum 87, How many 3, and tick No duplicate numbers. If the result is 14, 62 and 5, the entries on rows 14, 62 and 5 win, in that order.
Picking reserves and runners-up
Draw more numbers than you need in the same draw. For 3 prizes with 2 reserves, draw 5 unique numbers: the first 3 are winners, the next 2 are reserves in order. This is fairer than running a second draw later, because no one can argue the second draw was repeated until it produced a particular name.
Splitting people into random teams
Because the slider goes up to 100, this works for groups of up to 100 people in one draw.
Getting the settings right
| Situation | What to do |
|---|---|
| Drawing more than one winner | Always tick No duplicate numbers |
| Want every number in the range in random order | Set How many equal to the range size and count the results |
| Need more than 100 numbers | Not possible in one draw: the slider stops at 100 |
| Entries numbered from 0 | Set Minimum to 0, not 1 |
| Dice for a board game | Use the 1–6 preset, untick duplicates |
Two limits to know
Ask for fewer unique numbers than the range when you can. With No duplicate numbers ticked, the generator draws a batch of random values (ten per number requested) and skips repeats. If you ask for every number in the range, such as 100 unique numbers from 1 to 100, it can occasionally run out and return one fewer. In 20,000 simulated draws using the same method, that happened about 0.3% of the time. For raffles, where you want a few winners out of many entries, it does not happen. If you shuffle a whole list, count the results and click Regenerate if one is missing.
Minimum must be lower than Maximum. The tool does not check this. If you swap them by mistake (Minimum 10, Maximum 5), the results are not limited to your range. Always double-check both boxes before a public draw.
Is it truly random?
The browser's cryptographic generator is designed so results cannot be predicted from earlier results. Each number is turned into your range using a remainder, which in theory makes some numbers very slightly more likely than others, but with a source of over 4 billion values and ranges in the hundreds or thousands, the difference is far smaller than anything a raffle could notice.
What matters more for fairness is the process: a closed list, a numbered order everyone can see, one agreed draw, and no re-rolls.
Common mistakes
- Drawing, then adding late entries. Close the list first.
- Re-rolling "because the result looked odd". Repeats and clusters happen in real randomness. Agree that the first draw counts.
- Forgetting to tick No duplicate numbers and getting the same winner twice.
- Numbering the list after seeing the result. Number and share it first.
Related tools
- For random passwords rather than numbers, use the Password Generator.
- For random unique IDs in software, use the UUID Generator.
- To pick a date range or count days for a contest deadline, use the Date Difference Calculator.
Frequently asked questions
How do I generate random numbers without repeats?
Set the minimum and maximum, choose how many numbers you need, and tick No duplicate numbers. Every number in the result will be different.
How do I use a random number generator to pick a raffle winner?
Number every entry from 1 to N in a list everyone can see, set the range to 1 to N, choose the number of winners, tick No duplicate numbers, and draw once publicly. Each number points to one entry.
Is this random number generator truly random?
It uses crypto.getRandomValues, the browser's cryptographically secure random source, so results cannot be predicted from earlier draws. Nothing is sent to a server.
How many random numbers can I generate at once?
Up to 100 per draw. If you ask for every number in a range without duplicates, count the results, because the tool can occasionally return one fewer.
Put this guide into practice with our free online tool — no signup required.
Open tool