The 1–500 range
Five hundred is the size at which a draw stops being a formality. A raffle book with five hundred stubs, a mailing list, a numbered seating plan for a hall.
Each number carries 0.2 percent. Not a figure anyone can picture, which is exactly why the draw is worth doing properly rather than by eye.
For several winners, raise the count: up to ten numbers come back sorted and with no duplicates.
- 1 to 500, both included
- 500 whole numbers
- 0.2%, exactly 1 in 500
- 1 to 10 numbers per draw
- None inside a multi-number draw
- Every draw gets a link that replays it
What a 1–500 draw is for
- Drawing winners from a raffle of up to 500 tickets
- Picking a respondent from a 500-person survey list
- Choosing a seat in a 500-capacity venue
- Selecting a random record from a numbered dataset
- Assigning one of 500 numbered lots at an auction
How the randomness works
Every tap calls crypto.getRandomValues, the browser's cryptographic generator, and asks it for one unsigned 32-bit value. That lands somewhere between 0 and 4,294,967,295, and it then has to be folded down to the 500 numbers in this range.
Folding it down with a plain remainder is where most generators go wrong, an error known as modulo bias. 500 does not divide 4,294,967,296 evenly: 296 values are left over at the top, and wrapping them around would make the first 296 numbers in the range fractionally likelier than the rest. This tool throws away any raw value at or above the last exact multiple of 500 and draws a fresh one instead. That is rejection sampling. It fires about 1 in 14,510,025 draws, and it is the difference between 0.2% exactly and 0.2% approximately.
Ask for more than one number and the tool keeps drawing until it holds that many distinct values, then sorts them ascending. Nothing is seeded, nothing is sent anywhere, and each draw is independent of the one before it. The roll history under the tool lives in your browser's local storage, where the clear button empties it. The daily lucky numbers elsewhere on this site work the opposite way on purpose: they use a seeded generator so the same date always returns the same set. How random is random sets the two side by side.
Draw ten winners one tap at a time from 1–500 and there is roughly a 9 percent chance two of them are the same number, which is higher than most people guess and is precisely why the multi-number draw runs without repeats. The intuition failure is the birthday problem wearing a different hat: collisions depend on how many pairs you are making, not on the size of the pool alone. Ten draws make 45 pairs.
- crypto.getRandomValues, the browser's cryptographic generator
- One unsigned 32-bit value, sometimes more
- Rejection sampling onto 500 slots
- 296 of 4,294,967,296 raw values, redrawn
- No. These tools are never seeded
- Your browser. No server ever sees a draw
1–500 — frequently asked
Set the count to the number of winners you need, up to ten, and draw once. Every number in that result is distinct. Tapping ten separate times is the version that produces a duplicate about one time in eleven.
One in 500, or 0.2 percent. Each draw is independent, so a number that came up last time is no less likely this time.
Not in a single pass. Run a second draw and discard anything already taken, or split the pool into blocks and draw from each in turn.