Pick a winner from a list
A quick pick right in your browser, or a public draw with a permanent link: the list is committed in advance, the draw runs once and any participant can verify it.
—
Public draw
A link you can paste into your giveaway post
The list is committed now, the results are drawn later and exactly once. Participants can confirm that the list was not changed and the result was not redone.
How it works
Why this kind of draw is trusted
Step 1. The list is committed before the results. You publish the link in the giveaway post while nobody knows the winner yet. The page immediately shows the SHA-256 fingerprint of the list and the participant count. Swapping the list afterwards is impossible: the fingerprint would change.
Step 2. Results are drawn once. The button works only from your private link and fires a single time. Redoing an unwanted result is technically impossible — that is what separates a fair draw from “spin until the right person comes up”.
Step 3. Anyone can recompute it. After the draw a random seed is published. Winners follow from a formula: for every line HMAC-SHA256 of its index with that seed is computed, indexes are sorted by value and the first ones win. With the same list and seed anyone repeats the calculation.
Practice
Running a giveaway without arguments
Publish the link in advance — together with the rules, before the deadline. A link that appears after the winner is announced proves nothing.
Post the list itself as a file or a screenshot. A fingerprint with nothing to compare against is useless.
Pick reserves. Some winners never reply or fail the conditions. Two reserves save you a repeat draw and a lot of nerves.
Do not collect more than you need. A handle or a profile link is enough for a draw. Ask for phone numbers and addresses only from the winner and only in private.
Quick mode for internal tasks
Drawing a duty roster or a secret Santa inside a team is easier with the block above: it stores nothing and sends nothing. The public link is for draws with a prize and outside participants.
Questions
Frequently asked questions
How does the public draw differ from the quick one?
The quick mode runs entirely in your browser: the list never leaves it, but nothing can be proven either — good for internal draws. A public draw stores the fingerprint of the list on the server before the results and gives you a permanent link to paste into your giveaway post.
How do participants know the list was not swapped?
The draw page publishes the SHA-256 fingerprint of the list. The organiser posts the same list, any participant pastes it into the verification box and compares fingerprints. A match means the list is exactly the one that was drawn, down to the last line.
Can the result be redone?
No. Results are drawn exactly once: after they are written the page becomes immutable and pressing the button again changes nothing. That is why the link is worth publishing before the draw, not after.
How can the fairness be checked?
After the draw a random seed is published. Winners come from a deterministic function of the seed and the line number: HMAC-SHA256(index, seed); indexes are sorted by hash value and the first ones win. Given the list and the seed, anyone repeats the computation and gets the same people.
How long does the result page live?
One year. The participant list, if you chose to show it, is deleted after 90 days — the fingerprint, the seed and the winners remain, which is everything needed for verification. We deliberately avoid keeping personal data longer than necessary.
How large a list is supported?
Up to 50,000 lines on input. Lists up to 20,000 participants are stored in full on the page; for larger ones we keep the fingerprint and the winners, while the list itself stays with you.
Next