You're running a giveaway among your followers or event participants, and need to pick a winner in a way nobody can reasonably question the fairness of. "Random" seems like a simple concept, but not every method of generating random numbers is equally impartial, and the difference matters especially when something is at stake.
Why not all "randomness" is equally reliable
The most common function for generating random numbers in web programming, Math.random(), is a pseudo-random generator: it produces a sequence that looks random but that, in theory, could be predicted or show subtle biases if the algorithm and the generator's internal state are known. For most everyday uses this is irrelevant, but for a drawing where the result's legitimacy matters, it's worth using something more robust: a cryptographic randomness generator (crypto.getRandomValues), specifically designed to be unpredictable.
How to run a random drawing
- Paste the list of participants, one per line.
- Choose how many winners you need.
- Run the drawing, which selects at random using real cryptographic randomness.
- If you need several prizes, the tool distributes them without repeating participants.
You can do it free with the random list picker on this site.
Why "no repeats" is a detail worth getting right
When distributing several prizes, a common mistake is letting the same participant win more than one prize in the same drawing, something that's almost never the actual intent (unless explicitly stated otherwise). A well-designed multi-prize tool automatically removes each already-selected winner from the remaining drawings, guaranteeing every participant wins at most one prize.
Why this matters for the perception of fairness
A drawing with real prizes (money, products, recognition) can spark disputes if a participant suspects the process wasn't truly random. Using a cryptographically robust randomness method, and being able to explain (or even show) that the process doesn't depend on any manual decision or predictable algorithm, reinforces the result's legitimacy against any reasonable challenge.
Real use cases
- Social media giveaways among followers who've met a participation condition.
- Internal raffles or lotteries at events, companies or communities.
- Random assignment of tasks or shifts among a group of people, fairly.
- Selecting a case study or sample at random from within a dataset.
Frequently asked questions
Why is it better than a normal random number generator? Because it uses cryptographic randomness, designed to be unpredictable, instead of a standard pseudo-random generator that in theory could show subtle biases.
Can I distribute several prizes without a winner repeating? Yes, it's a specific feature of the tool built exactly for that case.
Is my participant list saved on any server? No, the entire drawing happens in your browser.
Can I verify the drawing was fair afterward? The selection process uses cryptographic randomness that's verifiable in its design, though it doesn't generate an external audit certificate on its own.
Pick a random winner fairly for free with the random list picker, with real cryptographic randomness and no-repeat prize distribution.