How to pick giveaway winners
- Add the participants, one per line: type them, press Paste, or open a .txt file or a .csv export (the first column is used, for example user handles). With Remove duplicates on, a repeated name counts once.
- Set the number of winners and reserves. Reserves are drawn after the winners, in order, for when a winner does not answer.
- Lock the list and publish the fingerprint before the draw: a 64-character SHA-256 code and a ready-made announcement for the giveaway post, a pinned comment or the stream chat.
- Draw the winners. The drum stops on each winner in turn. Next round, without the winners draws again from everyone who has not won yet.
- Share the link under the result, so anyone can repeat the draw on their own device.
Why nobody can call it rigged
The winners are calculated from the list, a secret seed and, if you like, a public value that nobody knows yet when the fingerprint is published, such as next Saturday’s lottery numbers. The fingerprint is the SHA-256 of all of it. Once it is out:
- participants cannot predict the winners, because they do not know the seed;
- the organiser cannot add a friend, remove someone or swap the seed: the fingerprint would no longer match;
- with a public value, the organiser cannot even try seeds in advance until a convenient one comes up.
To check, a participant opens the result link, pastes the fingerprint saved before the draw and sees a green “Matches”, then finds their own name in the list.
Questions
How many participants can I add?
Up to 100,000 entries of up to 200 characters. A link to a very big list is long, so for thousands of names send the JSON file or publish the list together with the fingerprint.
Is the list sent to a server?
No. The draw runs in your browser and works offline. The shared link carries the whole list, so share it only if participants agreed to be listed, and use handles rather than full names.
What if I close the tab before the draw?
A locked draw is kept in this browser. To finish on another device, back up the seed as JSON and import it there.
Step by step, and how participants check the result: how to run a fair giveaway. To split people instead of picking winners: random teams.