Random Picker & List Randomizer
Paste a list, then pick random winners, shuffle the order, or split everyone into balanced teams.
Worked examples
Drawing raffle winners at a conference
An event organizer collected 42 raffle entries and needs to draw 3 prize winners on stage without any bias toward entries submitted first.
- List size
- 42 entries
- Mode
- Pick
- Number to pick
- 3
One possible draw: Priya M., Diego R., Wanjiru K.
Splitting a classroom into project groups
A teacher has 22 students and wants 4 project teams that are as evenly sized as possible, without manually reading names off a roster.
- List size
- 22 students
- Mode
- Teams
- Number of teams
- 4
Result: teams of 6, 6, 5, 5 students, membership shuffled fresh
How the randomizer works
Unbiased random draws
Every random choice on this page starts from crypto.getRandomValues(), the cryptographically strong random number source built into browsers. Raw random numbers can't just be divided by your list length, though — that introduces a tiny bias called modulo bias, where numbers near the top of the range get picked slightly more often. To avoid it, out-of-range values are discarded and re-rolled (rejection sampling) until every remaining index has exactly equal odds.
Fisher–Yates shuffle
Shuffle mode, and the sampling behind Pick and Teams, all use the Fisher–Yates shuffle: starting from the last item, swap it with a uniformly random earlier item (including itself), then repeat one position to the left until you reach the front. This is one of the few shuffle algorithms mathematically proven to produce every possible ordering with exactly equal probability — unlike naive approaches like sorting by a random key, which can skew certain orderings to appear more often.
Balanced team splitting
Teams mode shuffles the full list first, then deals entries into teams one at a time in round-robin order — team 1, team 2, …, team k, back to team 1 — exactly like dealing a deck of cards around a table. That guarantees the largest and smallest team never differ by more than one person, no matter how unevenly the list size divides by the team count.
Frequently asked questions
Is the randomness actually fair, or does it favor items near the top of the list?
It's fair regardless of position. Every draw, shuffle, and team split is built on the Fisher–Yates algorithm seeded by crypto.getRandomValues() — the same cryptographically strong random source browsers use for security features. Fisher–Yates is a well-studied algorithm proven to give every possible ordering an equal chance, and the underlying random numbers are generated with rejection sampling so no value in your list is more or less likely to be chosen because of where it sits.
Does my list get uploaded or stored anywhere?
No. Every calculation runs in your browser with JavaScript — your list is never sent to a server. For convenience, the current text is saved to your browser’s local storage so it’s still there if you refresh the page or come back later, but that storage stays on your device only. Clearing your browser data, or using a private/incognito window, will not keep it.
Can two entries in my list have the same text, like two people both named "Sam"?
Yes — the tool treats each line as its own independent entry regardless of what it says, so two lines that read "Sam" are two separate slots that can each be picked, shuffled, or assigned to a team on their own. If you want every name to be genuinely unique, remove or relabel duplicate lines before running the tool (for example "Sam K." and "Sam T.").
Why can't I pick more people, or create more teams, than the size of my list?
Both limits come from the same constraint: you can't draw a distinct item that doesn't exist, and you can't fill a team with nobody in it. Pick mode caps the count you can draw at your total item count so every pick is a unique entry with no repeats, and Teams mode caps the team count the same way so every team ends up with at least one member.
How does the tool keep teams balanced when the list doesn't divide evenly?
After shuffling the full list into a random order, the tool deals entries to teams one at a time in round-robin order — team 1, team 2, team 3, back to team 1, and so on — the same way playing cards get dealt around a table. That guarantees every team’s size differs by at most one member: with 10 people split into 3 teams you always get sizes 4, 3, and 3, just with different people in each team every time you run it.
Can I save my list and come back to it later?
Yes. Your browser automatically remembers the last list you typed here (stored locally, never uploaded), so reopening this page later pre-fills your list instead of starting blank. If you'd rather start fresh, just select all the text in the box and delete it.