SpinPick
English

Draw lots

Choose how many slips and winners, then shuffle. Pass the phone around and let each person tap a slip to open it.

Set up the slips

1 winning, 9 blank

How to draw lots

  1. Under Set winners, choose the number of slips and how many of them win. All the other slips are blank.
  2. If you need several kinds of result, such as a prize, a forfeit and a chore, choose Write results and put one result on each line.
  3. Press Shuffle slips to lay out the folded slips. Pass the phone around, let each person tap one slip to open it, and type who drew it in the box under the slip if you like.
  4. When everyone has drawn, press Copy results and paste them into your group chat. Open all shows every remaining slip at once.

Writing your own results

If you write fewer results than there are slips, the extra slips are blank. Three results on ten slips gives seven blanks. If you write more results than slips, the draw cannot start, so add slips or remove results. To put the same result on several slips, write that line several times; empty lines are skipped. Writing seat numbers from 1 upward turns it into a seat draw.

How the draw stays fair

SpinPick decides a slip's result at the moment you open it. It picks one of the results that have not come out yet with your browser's crypto.getRandomValues. Every remaining result has the same chance, and values from the uneven end of the random range are thrown away and drawn again, so there is no modulo bias. The odds are the same as shuffling all the slips at the start, and drawing first or last gives the same chance of winning.

Because no slip has a result until it is opened, there is nothing to find by looking at the screen or the page code. The results are not recorded on a server, though, so the tool cannot prove afterwards that a draw was run properly. It works best when everyone can see the screen.

Good for

  • Picking who does a chore, who presents first, or who runs an errand
  • Choosing who takes a forfeit at a get-together
  • Handing out seat numbers in class or at a team dinner
  • Sharing out small prizes in a small group

FAQ

How is each result decided?
At the moment a slip is opened, one of the results that has not come out yet is drawn with your browser's crypto.getRandomValues. Every remaining result is equally likely and a result never comes out twice. The odds match shuffling every slip at the start, but no slip holds a result before it is opened, so there is nothing to peek at.
How is this different from the ladder lottery or the wheel?
The wheel picks one thing per spin, and the ladder lottery matches every player with an outcome on one screen (up to 10). Drawing lots has people pass one phone around and choose their own slip, which suits taking turns one by one and larger groups (up to 100 slips).
Can I use it to pick prize winners at an event?
It is meant for casual decisions among friends or coworkers. Results are not stored on a server and can be redrawn at any time with Shuffle again or a page reload, so there is no record to prove who drew what. For a prize draw, run it where everyone can see the screen and copy the results right away. For an official draw that needs an audit trail, use a method that keeps records.
Is anything I type saved?
Only the setup, such as the number of slips, the number of winners and your list of results, is kept in this browser for next time. Opened results and names are not saved and disappear when you reload, and nothing is sent to a server.