Random Name Picker

Paste your list, choose how many winners you need, and let the built-in randomizer choose fairly — with a short suspense animation before the reveal.

Picks use your browser's built-in cryptographic randomness (crypto.getRandomValues) with rejection sampling, so every eligible name has exactly the same chance.

A fair way to draw one winner or a whole shortlist

Picking a name out of a hat scales badly once the hat has more than a handful of names in it, and it scales even worse when you need three, five or ten winners instead of one. This picker replaces the hat: paste every name on its own line, say how many winners you need, and click once. The draw finishes in about a second, shows every winner at the same time, and never sends your list anywhere.

How the draw stays unbiased

Selecting a random item from a list sounds trivial, but the common shortcut — take a random 32-bit number and use the remainder after dividing by the list length — is subtly unfair. Since 232 rarely divides evenly by the number of names, the first few entries end up very slightly more likely to be picked. This tool avoids that by drawing from crypto.getRandomValues and discarding any value above the largest exact multiple, then trying again. For multiple winners, each slot is drawn one at a time from the shrinking pool of remaining names, so slot order never changes anyone's odds — only the display order is staggered for the reveal animation.

Example 1 — three winners for a giveaway. You have 40 entries and need 3 winners for 3 different prizes. Set "Number of winners" to 3 and click Pick. The tool draws 3 distinct entries without replacement — nobody can fill two slots unless their name was listed more than once — and reveals all three with a short staggered animation.

Example 2 — a five-day presenter rota, no repeats. Ten teammates, one presenter picked per stand-up for a week. Turn on "Remove winner(s) from the list" and draw one winner each morning: each day's winner leaves the pool, so by day five everyone left has an equal shot and nobody has presented twice. By day ten, every teammate has presented exactly once.

Example 3 — weekly raffle, list stays intact. A recurring 20-person raffle where you want to reuse the same roster every week but never repeat last week's winner. Leave the list untouched and turn on "Don't repeat a winner across rounds" instead of removing anyone — each week's winner is excluded from that week's draw only if you haven't cleared the history, and the full roster is still there to copy or edit for next time.

Remove winner vs. no-repeat — which one do you want?

SituationSetting to useWhy
Hand out 5 distinct prizes in one clickNumber of winners = 5One draw, five non-overlapping slots
Speaking order, team draft, seating rotationRemove winner(s)Every name appears exactly once, list shrinks each round
Keep the roster for next time, skip repeat winners this sessionDon't repeat across roundsList stays intact; already-won names sit out until you clear history
Classroom cold call, "who buys coffee today"NeitherEvery draw is fully independent — repeats are fine and expected

Practical notes

Sources & further reading

Frequently asked questions

How do I pick more than one winner at once?

Set "Number of winners" to however many you need — 3 for a triple giveaway, 5 for a team draft — and click Pick. The tool draws that many distinct entries from your list in a single round, so nobody fills two slots unless you deliberately listed them more than once. Each winner still comes from an independent, unbiased draw against the remaining pool.

What's the difference between removing a winner and not repeating winners across rounds?

"Remove winner(s) from the list" permanently deletes the drawn names from the textarea, so later rounds draw from a shrinking list — ideal for a running order or handing out one prize per person. "Don't repeat a winner across rounds" keeps your full list untouched but silently skips anyone who already won in a previous round this session, which is handy when you want to keep the original list for reference but still guarantee no repeats. Turn both off if every round should be completely independent, like a daily coffee-run pick.

Is the winner selection actually random and fair?

Yes. The picker uses crypto.getRandomValues, the same cryptographically secure source browsers use for security tokens, and rejects any value that would bias the result toward the start of the list — a common flaw in naive modulo-based random pickers. Every eligible name has exactly the same probability of being drawn, whether you're picking 1 winner from 5 names or 10 winners from 500.

Can the same name win more than one slot in a single draw?

Only if you typed that name more than once — duplicate entries are treated as separate tickets, so listing "Alice" twice doubles her odds and, with multiple winners, could let her fill two slots in the same round. If you want each person to have exactly one chance, keep every name on its own unique line. This mirrors how a physical raffle works: more tickets in the box, more chances to win.

Are the names I paste in saved or sent anywhere?

No. Everything — your list, the winner count, and the draw history — stays in your browser's memory and localStorage and is never uploaded to a server. Your last list is restored automatically the next time you open the page from the same browser, but nothing about it is visible to us or anyone else; clearing site data removes it for good.