Giveaway winner picker
Seal your entries now, draw at a set time, and give your audience a link where anyone can re-check the winners for themselves.
How it works
- Paste the entries, one per line: names, usernames or ticket numbers. “Ana *3” gives Ana three tickets.
- Choose how many winners and backups, and when the draw happens.
- Press “Seal the draw” and post the link straight away, before the draw time.
- At the draw time the link shows the winners to everyone who opens it, with everything needed to check them.
What it does
- Proof, not a promise
- The winners come from a value a public randomness beacon publishes at the draw time. Nobody, you and us included, can know it before then or change it afterwards. Post the link before the draw time, and the time of your post shows the list came first.
- Anyone can re-check
- The link holds the entries and the round. Every time it opens, the page fetches the beacon value and recomputes the winners, so a doubter gets the same names on their own phone.
- Backups in a fixed order
- Need a replacement when a winner doesn’t answer? The backups come from the same draw, in order, so the next name is never a fresh choice.
- Free, with no account
- No sign-up and no paid tier for verified draws.
Questions
What is the randomness beacon?
drand, run by the League of Entropy: a group of independent organisations that together publish a new random value every 3 seconds. Each value is signed by the group, and no single member can predict or steer it.
Why seal the draw before it happens?
Sealing fixes the entries (by their SHA-256 fingerprint) and the beacon round they will be drawn with. Posting the link before the round shows that the list existed before the random value did, so the organiser could not try lists until one gave the winner they wanted.
How exactly are the winners computed?
Each entry becomes the line “name, a tab, its tickets”; those lines, joined by line breaks in the order typed, give the fingerprint (SHA-256, in hex). The seed is SHA-256 of four lines: pickahat-draw-v1, the fingerprint, the round and the beacon value. The numbers come from SHA-256 of the seed followed by a 4-byte counter (0, 1, 2 …), each hash read as eight 32-bit big-endian numbers. For each pick, with T tickets left: a number x at or above 2³² − (2³² mod T) is skipped, and r = x mod T picks the entry whose tickets cover r, counting the entries left in typed order. “Check this draw” shows the fingerprint, the round, the value and the full seed.
What does the check not prove?
It proves the winners follow from this list and this beacon round. It cannot prove that the list is complete, or that the link was posted before the round came out: look at when the organiser posted it, and find your own entry in the list the check shows.
Can I add entries after sealing?
No: any change gives a new fingerprint and a new link. That is the point. Close the entries first, then seal.
Is the entry list private?
It travels inside the link, after the # sign, so it never reaches our server. Anyone you give the link to can read it, which is what lets them check the draw. Use first names or ticket numbers if the list should not show full names.
More tools
- Wheel Put names or options on a wheel and spin. Remove the winner, or let everyone have a turn before anyone goes twice.
- Yes or no A yes-or-no wheel for the questions you can’t settle. Add “maybe” if you dare.
- Name picker Pick one name or ten, or put the whole list in a random order.
- Teams Split a class or a squad into even teams, with captains and the rules you need.
- Secret Santa Draw a Secret Santa without anyone’s email. Everyone gets a private link that shows only their own match.
- Time poll Find the time that suits everyone: each person paints when they can, no sign-up.
- Coin Heads or tails, one coin or two hundred, with a running count.
- Dice Roll up to a hundred dice: six-sided, or d4 to d100 for board games and role-play.
- Number Random numbers in any range: no repeats, leave some out, sort them.