How to Run a Fair Raffle or Giveaway

Running a giveaway looks simple: gather names, pick a winner, done. But a draw that is not visibly fair breeds suspicion — and one that is accidentally biased can pick the same kind of entry every time. A few small habits make your raffle both fair and defensible.
Start with a clean list of entries
Fairness begins before the draw. Decide the rules in advance: one entry per person or several, whether duplicates are allowed, and the exact cut-off time. Then de-duplicate the list so nobody appears twice by accident, and remove blank or invalid rows. If everyone should have an equal chance, each eligible person must appear exactly once; if you deliberately reward extra actions with extra entries, make that policy public so it does not look like favouritism later.
Let a random tool do the choosing
Never scroll and "stop somewhere" or pick a number off the top of your head — humans are terrible at being random and gravitate to familiar names and round numbers. Paste your list into a random list picker and let it draw. To choose several winners at once, pick without replacement so the same name cannot win twice; if you want a ranked backup order in case winners do not respond, shuffle the whole list instead and read the top few.
Make the result verifiable
Trust comes from transparency. Announce the entry count before drawing, and consider recording the moment you press the button — a short screen capture is enough for a community giveaway. For higher-stakes draws, publish the rules and the final entrant count ahead of time so observers can confirm nothing was added or removed after the fact. The goal is that anyone watching could agree the winner was chosen by chance, not by you.
Shuffle properly, or not at all
The classic way to shuffle a list badly is to sort it with a comparator that returns a random answer. It looks elegant and it is wrong: sorting algorithms assume the comparator is consistent, and when it is not, some positions end up far likelier than others. Browsers have shipped implementations where the first entry stayed near the top in a measurable majority of shuffles.
The correct algorithm is Fisher-Yates. Walk the list from the last position down to the second and, at each step, swap the current entry with one chosen uniformly from the positions at or below it. Every one of the n! orderings comes out equally likely, it runs in a single pass, and it needs no extra memory. Drawing winners without replacement is the same operation stopped early: shuffle, then take the first three names.
Two details matter in practice. The random index at each step must itself be unbiased — the modulo trap applies here too — and the shuffle has to run on the de-duplicated list, not on the raw submissions, or a person with four entries quietly becomes four people.
Weighted entries and multiple prizes
Some giveaways deliberately give people more than one chance: an extra entry for sharing a post, three for referring a friend. That is perfectly fair as long as the weighting is written into the rules before entries open. The simplest implementation is to expand the list so that a person with three entries appears three times, and then shuffle it normally.
Multiple prizes need one more decision: with or without replacement. Without replacement means each person can win once, which is what most giveaways intend, and you simply take the first n distinct names from the shuffled list. With replacement lets the same entrant win twice, which only makes sense for something like a repeated daily draw. Decide before the draw, not after a name comes up twice.
A record that survives a complaint
Fairness nobody can check is indistinguishable from unfairness. Export the final entry list to a file before the draw and publish its hash — a SHA-256 of the file is a short string that later proves the list was not edited. Then announce the draw time in advance, and record the screen or stream it live if the prize is big enough to attract suspicion.
Keep the raw entries, the de-duplicated list, the winner order and the timestamp for as long as the promotion's terms require — often a year in the EU, and consumer-protection regulators in several countries can ask to see them. Note too that prize draws are regulated in some jurisdictions: a draw that requires a purchase can legally count as a lottery, which usually needs a licence.
The takeaway
Fix the rules first, de-duplicate your entries, draw with a random picker (without replacement for multiple winners), and record the moment for transparency. Open the random list picker to run your next draw.
Draw random winners from a list or shuffle it into a fair order.
More guides

True Random vs Pseudo-Random Numbers
Most 'random' numbers on a computer come from a formula. How pseudo-random generators differ from true randomness, and when it matters.

Dice Probabilities Every Gamer Should Know
Why 7 comes up most on two dice, what 'bell curve' really means for your rolls, and how advantage and modifiers shift the odds in tabletop games.

How Strong Is Your Password? Entropy Explained
Password strength is not about weird symbols — it is entropy, measured in bits. What that means, how to estimate it, why length wins.