Winner Picker

Draw random winners from a list of participant names. Set main and alternate winner counts, remove duplicates, and get cryptographically random results instantly — no server, no upload.

raffle draw random winner giveaway contest lottery
Free Client-Side Private
Participants
0 participants
Settings
Main Winners
🔒 This tool runs entirely in your browser — your files are never uploaded to any server.

Winner Picker is a free, browser-based raffle tool that performs cryptographically secure random draws from a list of participant names. Enter the names, set how many main and alternate winners to draw, click Draw, and the results appear instantly — nothing is sent to a server and no data is stored anywhere.

Tool interface

  • Participants textarea — enter one name per line. Names can be anything: first name, full name, username, team name, or any unique identifier.
  • Sample button — loads 30 demo participant names so you can see the tool in action immediately.
  • Clear button — empties the list and resets the results.
  • Main winners — how many winners to draw from the validated pool.
  • Alternate winners — how many backup/standby winners to draw in addition to the main winners. Useful when you need fallback choices if a main winner cannot be reached or is ineligible.
  • Remove duplicate names — when checked (default), names that appear more than once are deduplicated before the draw so each participant has an equal chance.
  • Draw button — runs the draw and displays the results.
  • Copy Results — copies a formatted text block of all winners to your clipboard, including the timestamp and pool size for record-keeping.

How the draw works

  1. The participant list is parsed (one name per line); blank lines are ignored.
  2. If Remove duplicate names is enabled, case-insensitive duplicates are removed and only the first occurrence is kept.
  3. The resulting pool is shuffled using a Fisher-Yates shuffle seeded by crypto.getRandomValues() — the Web Crypto API built into all modern browsers.
  4. The first N names from the shuffled pool become main winners; the next M become alternate winners.
  5. The results are displayed with the draw timestamp and pool size for your records.

Using crypto.getRandomValues() instead of Math.random() produces cryptographically strong random values that are not predictable, not reproducible, and not influenced by any deterministic seed such as the current timestamp.

Common use cases

  • Contest raffle — collect entries, paste names, draw winners fairly in seconds
  • Social media giveaways — pick winners from comments or sign-up lists transparently
  • Classroom — randomly assign students to groups, pick who presents first, or select homework checkers
  • Team decisions — assign tasks, on-call shifts, or roles randomly among team members
  • Event prize draws — run a visible, auditable random draw at a live event
  • Jury / committee selection — impartially select members from a candidate pool

FAQ

Is the draw truly random?

Yes. The tool uses crypto.getRandomValues(), the Web Crypto API available in all modern browsers. This produces cryptographically strong random bytes — values that are not predictable, not reproducible, and not influenced by any deterministic seed. It is the same API used for generating cryptographic keys.

Can the same person appear in both main and alternate winners?

No. The draw is performed without replacement. The shuffled list is divided sequentially: positions 1–N go to main winners, positions N+1 to N+M go to alternate winners. No name can appear in both groups.

What does "alternate winners" mean?

Alternate (standby) winners are the names drawn immediately after the main winners. They serve as fallback choices if a main winner cannot be reached, declines, or is found ineligible. Drawing alternates at the same time as main winners ensures the fallback is also random and decided at the moment of the draw.

Does the tool remove duplicate names automatically?

When Remove duplicate names is checked (the default), duplicates are detected case-insensitively — Alice, alice, and ALICE are treated as the same person and only the first occurrence is kept. Uncheck the option if you intentionally want a participant to have multiple entries (weighted chance).

What happens if I require more winners than there are participants?

The Draw button shows an error message explaining the shortfall. You cannot draw more unique winners than there are unique participants in the pool.

Is any data stored or transmitted?

No. All processing runs in your browser. Participant names never leave your device — nothing is sent to a server, stored in a database, or logged anywhere.

Can I use this for legally binding raffles?

This tool is suitable for informal draws, giveaways, and internal decisions. For legally binding lotteries governed by gaming regulations, consult applicable laws in your jurisdiction and consider a certified platform that provides an independently audited audit trail.

Report an issue