You paste a list of names into a picker, hit the button, and someone wins. Then a thought arrives: Priya's name is in there twice. Does that matter?
It matters completely. Priya has exactly double everyone else's chance — and here is the part that catches people out: that stays true whether your list has 10 names or 500. A bigger list does not water the problem down.
Which makes duplicates the single most common way a draw stops being fair, because nobody has to do anything wrong for them to appear. This guide covers the exact maths, the ways duplicates get in without you noticing, and how to run a multi-prize draw that holds up when someone asks.
One Line, One Entry
Everything follows from one rule: each line in the box is one entry. The tool reads your list, trims the spaces off each line, drops the blank ones, and picks a position at random.
items[Math.floor(Math.random() * items.length)]There is no name-matching step anywhere in that. The picker has no idea two lines contain the same person — it sees positions, not identities. Two lines reading Priya are as separate as Priya and Rahul.
That is worth sitting with, because it means the fairness of the draw was decided before you pressed the button. The picking is uniform; whether the result is fair depends entirely on what you pasted in.
The Answer Is Exactly Yes
Take 20 people, each entered once. Everyone sits at 5.00%. Now let one person's name appear more than once — the list gets longer, and the shares move:
| One name appears | Lines in the list | That person | Everyone else | Their edge |
|---|---|---|---|---|
| Once (clean) | 20 | 5.00% | 5.00% | — |
| Twice | 21 | 9.52% | 4.76% | 2× |
| 3 times | 22 | 13.64% | 4.55% | 3× |
| 5 times | 24 | 20.83% | 4.17% | 5× |
| 10 times | 29 | 34.48% | 3.45% | 10× |
Notice that the duplicate does two things at once. It lifts one person and pushes everybody else down, because the extra line stretches the denominator. At ten entries, one person holds 34.48% of a twenty-person draw while everyone else has dropped from 5% to 3.45%.
The rule is as simple as it looks: n lines means n times the chance. No curve, no diminishing returns.
A Bigger List Does Not Dilute It
The instinct is that one stray duplicate must be harmless in a big list — a repeat among 500 names surely disappears into the noise.
It does not. Everyone's individual chance shrinks as the list grows, but the ratio between the duplicated person and everyone else never moves:
| Unique entrants | Duplicated person | Everyone else | Advantage |
|---|---|---|---|
| 10 | 18.182% | 9.091% | 2.0× |
| 25 | 7.692% | 3.846% | 2.0× |
| 50 | 3.922% | 1.961% | 2.0× |
| 100 | 1.980% | 0.990% | 2.0× |
| 500 | 0.399% | 0.200% | 2.0× |
Two point zero, all the way down. The absolute numbers get small enough to look unimportant, but if that person wins, they won with twice the entitlement of everyone else — and that is just as unfair at 500 entrants as at 10.
How Duplicates Sneak In
Almost nobody types a name twice on purpose. Duplicates arrive through the copying:
- Comment exports. The most common source by far. One entrant replying to three other comments appears three times in the export, having done nothing but be chatty.
- Merged lists. Entries from two channels — a form and a comment thread — pasted one after the other, with the overlap uncounted.
- Re-pasting. A partial paste, then a full one, leaving the first block above the second.
- Name variations. These are the hard ones.
Priya SandPriya Sharmaare one person and two entries, and no automatic check catches them.
The distortion adds up faster than you would guess. Start with 100 entrants and let a handful enter repeatedly:
| Scenario (100 entrants) | Lines | Heavy entrant | Normal entrant | Share held by the heavy group |
|---|---|---|---|---|
| 20 people entered 2× | 120 | 1.67% | 0.83% | 33.33% |
| 5 people entered 3× | 110 | 2.73% | 0.91% | 13.64% |
| 10 people entered 3× | 120 | 2.50% | 0.83% | 25.00% |
| 5 people entered 10× | 145 | 6.90% | 0.69% | 34.48% |
The last row is the one to look at. Five people out of a hundred hold better than a third of the whole draw. Nobody cheated; the export just counted their comments.
The fix is unglamorous: deduplicate before pasting, not after picking. Sort the list alphabetically first — repeats land next to each other and become obvious, and near-duplicates like Priya S / Priya Sharma line up close enough to spot by eye.
When Duplicates Are the Point
Everything above assumes you wanted one entry per person. Sometimes you do not — and then the same mechanism becomes the feature.
"Comment three times for three entries", "one ticket per pound donated", "long-time members get double odds" — these are all weighted draws, and a plain list handles them without any special mode. Write each name as many times as it has entries and the maths above does the weighting for you.
Because the relationship is exactly linear, weights are easy to reason about: three lines is precisely three times one line, and a person with 10 lines out of 145 total has exactly 6.90%. You can promise entrants a specific number and have it be literally true.
Drawing More Than One Winner
Three prizes means three picks, and that raises the obvious question: what stops the same person winning twice?
The Remove Item After Pick toggle. With it on, each winner is taken out of the list before the next draw, exactly like a physical raffle where the drawn ticket does not go back in the drum.
What surprises people is what this does to the odds. Each round gets easier for whoever is left — 1 in 10, then 1 in 9, then 1 in 8 — so it feels like later rounds must favour someone. They do not. Every person's chance of winning something comes out clean:
| Draw | Odds each round | Chance of winning something |
|---|---|---|
| 10 people, 1 prize | 1/10 | 10% |
| 10 people, 2 prizes | 1/10 → 1/9 | 20% |
| 10 people, 3 prizes | 1/10 → 1/9 → 1/8 | 30% |
| 20 people, 3 prizes | 1/20 → 1/19 → 1/18 | 15% |
| 100 people, 10 prizes | 1/100 → … → 1/91 | 10% |
Prizes divided by people, every time. The changing per-round odds cancel out perfectly, and you can check the middle row by hand: the chance of being missed all three times is 9/10 × 8/9 × 7/8, and those numerators and denominators cross out to leave 7/10. So 3/10 win something — exactly 30%.
Leave the toggle off and it gets slightly worse rather than better. Three independent draws from 10 people give any one person a 27.10% chance of winning at least once, not 30%, because some of those draws are spent handing a second prize to someone who already won. Removal is both fairer and, for the entrants, marginally more generous.
Running a Draw on CodBolt
- Open the Random Picker and paste your list — one name per line. Blank lines and stray spaces are ignored, so a messy copy-paste is fine.
- Check the entry count above the box against the number of people you expect. If the count is higher, you have duplicates, and now is the moment to deal with them.
- For multiple prizes, switch the toggle to Remove Item After Pick before the first draw, not after.
- Pick. The list locks while the draw runs, so it cannot be edited mid-pick and the removal always applies to the list that was actually drawn from.
- The recent-picks strip keeps your last ten winners in order — useful when someone asks who won what, and in which round.
Names with apostrophes, ampersands or angle brackets are handled as plain text, so O'Brien & Sons displays as written rather than breaking the page.
The draw happens entirely on your machine. Your list is never uploaded, stored, or seen by this site — which is also why nobody here could influence a winner even if asked to.