Random Picker
Draw a fair winner, shuffle an order, flip a coin or roll a die.
One per line, or comma-separated on a single line.
Winner
—
Press Draw to pick.
Remaining pool
Draw history
Also useful
Where the randomness comes from
Draws use crypto.getRandomValues, the browser's cryptographically secure generator.
Math.random() is seeded from the clock, so two draws in the same millisecond can return the same
"random" result — exactly the case people notice and then distrust the tool over.
Selection also uses rejection sampling rather than a plain modulo. Taking random % 6 makes the
first few outcomes very slightly more likely, and across a long raffle that bias is real.
Pasting your list
Options can be one per line or comma-separated. Commas are only treated as separators when the whole
input is a single line — otherwise a line like Ravi, Delhi would be split into two entries,
which is not what anyone means by pasting a list of names with cities.
With and without repeats
- Without repeats (the default) removes each winner from the pool. That is what a raffle needs — draw first, second and third prizes without anyone winning twice.
- With repeats leaves the pool untouched, so every draw is independent. Use it for picking a random option repeatedly.
Restore pool puts everyone back without retyping the list.
Shuffle for turn order
Shuffle returns the whole list in a random order rather than one winner — useful for standup order, a presentation running order, or deciding who goes first. It uses a Fisher–Yates shuffle, which gives every permutation equal probability; the naive "sort by random" approach does not.