Random Picker
Randomly draw names, raffle winners or split groups from a pasted list, with optional non-repeating draws and a fixed seed for fully reproducible results. Your list never leaves the browser.
Drawing a name in class, a prize at a party or the groups for an activity starts with pasting a list: the draw happens locally in the browser, with a draw mode that takes names by count — with or without repeats — and a group mode that shuffles the whole list and deals it into groups within one member of each other. The list is handled in memory only, and the server never learns who was drawn.
On fairness: the draw uses a reproducible Fisher-Yates shuffle, and without repeats every name has exactly the same chance; entering a fixed seed — any number — makes the same list produce the same result every time, so publishing the seed alongside the result lets anyone verify it and removes any suspicion of a black box.
—
Did this tool solve your problem?
Submitting sends the tool name, your input and the current result to the server. Please do not include ID numbers, phone numbers or other private data.
AI assistant It answers using your current input and result
Asking again sends your current input and result to the server once more. Please do not include private data.
How to use
- Paste the list, one name per line.
- Choose draw mode or group mode.
- Set the count, and whether repeats are allowed.
- Use a fixed seed if the result needs to be verifiable.
How it works
How to pick names at random
Paste one name per line in the list box (blank lines are removed automatically), choose the "draw" mode and set the number (1 by default), then press "start" and the result area lists the chosen people in order.
How to make random groups
Switch to "group" mode and set the number of groups (e.g. 4); the list is shuffled as a whole and dealt in order round-robin, with group sizes differing by no more than 1, listed group by group.
What the random seed is for
Without a seed, each press is random; with a fixed number (like 42), the same list gives exactly the same result every time — good for "archiving" a draw.
How fairness is guaranteed
Drawing is based on a reproducible shuffle (Fisher-Yates): in non-repeat mode each person's chance is strictly equal; if disputed, publish the seed value, and anyone entering the same seed can verify the result.
Code example
JavaScript Reproducible randomness (same seed, same result)
// a seeded PRNG makes a draw reproducible, so it can be replayed and published
function mulberry32(seed) {
let a = seed >>> 0;
return function () {
a = (a + 0x6d2b79f5) >>> 0;
let t = Math.imul(a ^ (a >>> 15), 1 | a);
t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;
return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
};
}
// Fisher-Yates: every permutation is equally likely, unlike sort(() => Math.random() - 0.5)
function shuffle(list, rand) {
const a = list.slice();
for (let i = a.length - 1; i > 0; i--) {
const j = Math.floor(rand() * (i + 1));
[a[i], a[j]] = [a[j], a[i]];
}
return a;
}
const rand = mulberry32(20260918);
shuffle(['Ann', 'Bob', 'Cara', 'Dan'], rand);
Python random.Random(seed) gives the same result for the same seed
import random
rng = random.Random(20260918) # a private instance, global random state untouched
names = ['A', 'B', 'C', 'D']
print(rng.choice(names)) # pick one
print(rng.sample(names, 2)) # pick two, without replacement
print(rng.shuffle(names)) # shuffle in place
# grouping: shuffle then slice, which is fairer than dealing one card at a time
rng.shuffle(names)
groups = [names[i::2] for i in range(2)]
FAQ
Is the list uploaded or saved?
No. The list lives only in the current page's memory and vanishes when closed; the server can never know whom you drew — especially good for private data like student lists.
Do already-drawn people reappear?
In "non-repeat" mode nobody repeats within a round (those drawn are out); with "allow repeat" checked each draw is independent and the same name may appear, good for dice-like simulations.
What are the grouping rules?
The list is shuffled as a whole, then dealt in the shuffled order round-robin; earlier groups may get one extra. The "random within groups" effect is already met naturally — the member order is itself scrambled.
How do I use a fixed seed?
A seed is any number. The same list + the same seed + the same mode always give the same result; post the seed with a class's published draw result, and anyone can recompute to verify — no more "black-box lottery" doubt.
Can I draw several people at once?
Yes, up to 1,000 (not exceeding the list length in non-repeat mode). Spot-checking 3 students in class or drawing 10 excellence prizes at an annual party both work.
How does it differ from the random number generator?
The random number generator produces numbers; this tool is list-oriented: paste by line, remove blanks, pick people, group them, saving the "draw a number then match the list" step; the two can be used together.
Are there format requirements for the pasted list?
One name per line suffices; comma- or tab-separated tables pasted in are also recognized (split by line automatically); blank lines and leading/trailing spaces are cleaned up, no manual formatting needed.