List Randomizer & Shuffler

Paste names, tasks or songs, one per line. Shuffle the full list, draw a set number of winners, or deal everyone into even teams. Every order has equal odds, and your list stays in this tab.

Randomize a list

0 lines

Press Ctrl + Enter inside the box to randomize again.

Clean up before randomizing
Items0
Duplicates dropped0
Possible orders0
Stayed in place0

Paste a list on the left, then press Shuffle list.

How many orders a list has, in numbers

A list of n items has n factorial possible orders: n × (n − 1) × (n − 2), all the way down to 1. The count climbs fast. By 52 items, the number of orders passes the number of atoms on Earth, roughly 1050.

ItemsPossible ordersWhere you meet a list this size
36Speaking order for three people on a call
5120Answer options on a single quiz question
103,628,800Presentation slots for a seminar group
202.43 x 1018A 20-track playlist
302.65 x 1032A classroom seating chart
528.07 x 1067A standard deck of cards
1009.33 x 10157A 100-entry giveaway list

Your own list: the Possible orders box above runs this math on whatever you paste. Duplicate lines get divided out. Two lines reading Pizza look identical whichever way round they land, so a 10-line list holding two of them shows 1,814,400 orders, half of 3,628,800.

Three modes, three everyday jobs

Each mode starts from your original list on every press, never from the previous result.

Shuffle: presentation order for 24 students

Paste the class roster and press Shuffle list. Read the order top to bottom. Leave numbering on 1. 2. 3. when the result goes into a slide or a group chat, so nobody argues about whose turn comes next.

Pick winners: three names from 400 comments

Paste every username and set Winners to draw to 3. Each entry holds a 0.75% chance. Turn on Remove duplicates for one entry per person, even if someone commented five times. Leave it off when each comment counts as its own ticket.

Make groups: 23 people into 4 teams

The tool shuffles the names, then deals them out one at a time like cards around a table. You get teams of 6, 6, 6 and 5. Team sizes never differ by more than one person.

Why an item sometimes stays in its original spot

People expect a fair shuffle to move everything. Probability says otherwise. On average, exactly one item lands back where it started, whether your list holds 5 lines or 5,000.

Only about 37% of shuffles move every single item (the share settles at 1 divided by e). The other 63% leave at least one item in place. The Stayed in place box counts them, and each row on the right says either stayed or the position the item came from.

What happens when you press Shuffle

  1. Clean up. Lines get split on your chosen separator, trimmed, and filtered for blanks and duplicates based on the toggles.
  2. Draw random numbers. The browser's crypto.getRandomValues() supplies them, seeded by your operating system's entropy pool. Out-of-range draws get thrown away and redrawn, which removes the small bias a plain remainder introduces.
  3. Swap from the bottom up. The Fisher-Yates method walks from the last item to the first, swapping each one with a random item at or above it. Every one of the n! orders comes out with equal odds.
  4. Format. Numbering and the comma or line layout get applied last, so they never touch the randomness.

The shortcut many scripts use, and the fix

// Biased: results depend on the browser's sort routine
list.sort(() => Math.random() - 0.5);

// Fisher-Yates: every order equally likely
for (let i = list.length - 1; i > 0; i--) {
  const j = randomInt(i + 1);
  [list[i], list[j]] = [list[j], list[i]];
}

The sort trick shows some orders far more often than others, and the skew changes between Chrome, Firefox and Safari. Math.random() has its own ceiling: in Chrome it runs on a generator with 128 bits of state, while a 52-card deck has about 2226 orders. Most deck orders are out of its reach. This page uses neither.

Where this randomizer falls short

Know these before you use the result for anything with stakes.

List randomizer questions

Short answers about fairness, privacy, and formats.

Is this list randomizer truly random?

The random numbers come from crypto.getRandomValues(), the same browser source used to generate encryption keys. The Fisher-Yates shuffle then gives every possible order equal odds. Nobody, including Toolexe, sees or steers the result.

Does my list get uploaded anywhere?

No. The shuffle, the winner draw and the group split all run inside your browser tab. Nothing gets sent to a server, so lists of student names or customer emails stay on your device.

How do I pick one random name from a list?

Switch to Pick winners, set Winners to draw to 1, and press Draw winners. Each line has a 1 in n chance, where n is the number of lines after clean-up.

How do I shuffle a comma separated list?

Set Split items on to Comma and Output as to Comma separated. A line such as red, green, blue, amber comes back as amber, red, blue, green, ready to paste back where it came from.

How do I keep a CSV header row at the top?

Tick First line is a header. In Shuffle mode the header stays on line 1 while the rows below it get shuffled. In Pick winners and Make groups the header is left out of the draw.

Why does pressing Again give a completely new order?

Each press shuffles your original list from scratch. Reshuffling the previous result would give the same odds, but starting fresh means an order you saw a moment ago has no influence on the next one.