Random

Random winner picker (raffle)

Paste the list of participants, choose how many winners you want and let chance decide. For fun use only — it has no legal validity for material prizes.

Instant🔒In your browserNo signup
Live

0 participants

Load the participants and hit "pick"

⚠️ For fun use. It has no legal validity for draws with material prizes.

How the draw works internally

We apply the Fisher-Yates shuffle algorithm over the list of participants, using crypto.getRandomValues as the source of randomness. Every possible permutation of the list has exactly the same probability. The first N elements of the shuffled array are the winners. It is mathematically fair: each participant has exactly N/total odds of being chosen.

How to run a public, transparent draw

  1. Announce the rules clearly: how many winners, what prize, when the draw happens, how it is picked.
  2. Share the full list beforehand. In small groups you can show the names; in large draws you can publish a hash of the list (SHA-256) to prove you didn't add names afterwards.
  3. Run the draw live: stream on Twitch/YouTube, an open Zoom room, or a recorded video showing the whole process.
  4. Show the full result: ideally not just the winner but the shuffled list (or at least the top 5-10), to prove the algorithm ran.
  5. Post screenshots in the group where you announced the draw, tagging the winner.

The difference between a "fair draw" and a "legal draw"

A draw can be perfectly fair (algorithmically flawless) and at the same time have no legal validity. The difference lies in who guarantees the execution and its integrity. For draws with material prizes, many countries require:

  • A system certified by an authority (national lottery, chamber of commerce).
  • A notary present: a notary validates the process and signs the record.
  • An auditable list of participants, submitted before the draw.
  • Pre-published rules the organizer cannot change at the last minute.

This tool is for informal draws: a small team, a friendly community, a birthday raffle, deciding who buys the next round. For real prizes, check your country's legislation.

Typical use cases

  • Online communities: hop on a Discord or YouTube channel and raffle a book or a game.
  • Work team: who presents first, who takes holidays first, who makes the coffee this week.
  • Classrooms: the teacher draws who goes to the board.
  • Task assignment: a list of tasks + a list of people, shuffle and pair them.
  • Nights out: who picks the restaurant, who pays the bill.

The "naive shuffle" bias

Many people implement draws like this: arr.sort(() => Math.random() - 0.5). It is wrong: it produces biased permutations. Formal studies have shown that certain elements end up closer to the start than others. If your draw matters, make sure the tool uses Fisher-Yates (ours does).

Reproducibility with a seed

If you want the draw to be reproducible (so anyone with the same list and the same seed gets the same result), use the "seed" field. Internally we derive a deterministic PRNG from that string. Useful for audits or when you want your draw to be verifiable after the fact. Without a seed, the result is non-reproducible and depends only on crypto.getRandomValues.

FAQ

How does it work?

We shuffle the list with Fisher-Yates using crypto.getRandomValues. The first N are the winners. Each one has N/total odds.

Is it legal?

It has no legal validity. For material prizes you need certified systems and a notary. This tool is for fun use.

How do I make it verifiable?

Share the list beforehand, run the draw live, post a screenshot of the result. That guarantees transparency.

Can I reproduce the draw?

Yes, use the "seed" field and save that value. Anyone with the same list and seed gets the same result.

Was this generator useful?