Tool · Fun & random
Random Name Picker
Washing-up, bins, school run, first presentation: enter the names and let chance decide – for one person, for several tasks at once or for whole teams.
Four ways to draw
- One person: the classic. Every name has the same chance – 1 in 4 with four people. The names flicker past for a moment; that is just for show, the pick has already been made.
- Share out tasks: several tasks at once, each to a different person. If there are more tasks than people, nobody gets more than one task more than anyone else. Whoever gets nothing is listed below the result.
- Make teams: the names are shuffled and dealt out to the teams in turn, so team sizes differ by at most one person: seven people in two teams gives four and three.
- Order: all names in random order – who presents first, who rolls first, who does the school run when.
Prefer suspense and a spin? The wheel spinner takes the same names. Random numbers, dice and coin flips are in the random number generator.
Why the shuffle is fair
“Share out tasks”, “Make teams” and “Order” all rely on the same thing: shuffling the names once so that every possible order is equally likely. There has been a short, proven method for this since the 1960s, by Fisher and Yates in Durstenfeld’s version:
- Take the last position in the list and swap it with a fairly chosen position before it, or with itself.
- That last position is now fixed. Carry on with the one before it, and so on – until only one is left at the front.
Worked through with the four names from the form, Anna, Ben, Clara and David, and the three tasks washing-up, taking out the bins and shopping:
- Position 4 (David) swaps with one of positions 1 to 4 – four options. Chance picks position 2: Ben and David swap. Order: Anna, David, Clara, Ben.
- Position 3 (Clara) swaps with one of positions 1 to 3 – three options. Chance picks position 3, so Clara stays. Order: Anna, David, Clara, Ben.
- Position 2 (David) swaps with position 1 or 2 – two options. Chance picks position 1. Order: David, Anna, Clara, Ben.
- The tasks are handed out in that order: David does the washing-up, Anna takes out the bins, Clara does the shopping, Ben is off this time.
There are 4 · 3 · 2 = 24 different paths through these steps, and each one leads to a different
order. That is exactly all 4! = 24 possible orders, each with a chance of 1 in 24. To make each step
fair in itself, the tool gets its random numbers from your browser via
crypto.getRandomValues and throws away values that would favour a position – the
random number generator explains how.
“Me again?” – unlucky streaks are normal
Anyone drawn two days running quickly suspects foul play. But it happens a lot: if four flatmates draw once a day for five days to decide who does the washing-up, the chance that at some point the same person is picked twice in a row is 1 − (3/4)⁴ ≈ 68 %. On each of the four following days, the same person as the day before is hit with a chance of 1 in 4.
Fair in the sense of “everyone gets the same number of turns” needs a rota, not a daily draw: draw the order once, then take turns. Or use “Share out tasks” and enter the week as a list of tasks – then nobody gets more than one more than the others.
Limits of this tool
- No memory: the tool does not remember who had to do it last week. For a fair rotation, draw the order once and stick to it.
- No verifiable draw: the result can be redrawn as often as you like. Draws for prizes or with legal consequences need a procedure you can document afterwards.
- At most 200 names of up to 80 characters each. Identical names count twice; the tool points this out.
Privacy: the tool runs entirely in your browser. The names are not sent to xmoo.app
or anyone else. The share link contains the names themselves – whoever receives it can see them.
They sit after the # in the address; browsers do not send that part to the server, and
the tool removes it from the address bar after opening.
Sources
- Shuffling: Richard Durstenfeld, Algorithm 235: Random permutation, Communications of the ACM 7 (1964)
crypto.getRandomValues: W3C, Web Cryptography API- Rejection instead of remainder: Daniel Lemire, Fast Random Integer Generation in an Interval, ACM TOMACS 29 (2019)
Page last updated: 30 October 2026