UtilsDaily

List Randomizer

Shuffle any list of items instantly using cryptographically unbiased randomization.

Your List (one item per line)
Shuffled Output

What is a List Randomizer?

A list randomizer shuffles any list of items into a random order using the Fisher-Yates algorithm, which guarantees every possible arrangement is equally likely. It is used to fairly assign tasks, select random winners, shuffle a playlist order, randomize a study list, or pick random participants from a group without bias.

How to Use the List Randomizer

Type or paste your items into the input box โ€” one item per line. Click Shuffle List to randomize. Use "Remove duplicates" to eliminate repeated entries before shuffling. Enable "Pick N items" to return only a subset of the shuffled list (e.g., pick 3 winners from 100 names). The output appears in the right panel, ready to copy.

Fisher-Yates Shuffle Algorithm

The Fisher-Yates shuffle works by iterating from the last element to the first. At each position i, it picks a random index j between 0 and i (inclusive), then swaps elements i and j. This guarantees every permutation has equal probability in O(n) time:

for (let i = array.length - 1; i > 0; i--) {
  const j = Math.floor(Math.random() * (i + 1));
  [array[i], array[j]] = [array[j], array[i]];
}

Use Cases

  • Random winner selection: Paste names, pick 1 or 3 winners from the shuffled list
  • Team assignments: Randomly assign team members to tasks or groups
  • Playlist shuffle: Randomize a list of songs or episodes
  • Flashcard study: Randomize the order of study cards to avoid memory sequencing bias
  • Tournament brackets: Randomly seed players into bracket positions
  • Sampling: Pick N random items from a large population without replacement

Frequently Asked Questions

What algorithm does this use?

Fisher-Yates shuffle (Knuth, 1969). Every permutation is equally likely. Works in O(n) time. This is the same algorithm used in card game engines and scientific sampling software.

Why is sort(Math.random()) biased?

Sorting with a random comparator calls the function multiple times per element, leading to some permutations appearing more often than others. Fisher-Yates avoids this with a single linear pass where each element is swapped exactly once.

What can I randomize with this?

Anything: names, tasks, playlist tracks, team members, countries, book titles, flashcard topics, tournament seeds. One item per line.

What does Remove Duplicates do?

Strips repeated lines (case-insensitive) before shuffling. "Apple" and "apple" are treated as the same item โ€” the first occurrence is kept.

What does Pick N do?

Returns only the first N items from the shuffled list โ€” equivalent to selecting N items without replacement. Use it to pick winners or samples from a large list.

What format does the input need to be in?

One item per line. Empty lines are ignored. Paste from spreadsheets, text documents, or type directly.

Is this truly random?

It uses JavaScript's Math.random() โ€” a pseudorandom generator seeded by the browser. Statistically unbiased (with Fisher-Yates), but not cryptographically random. Suitable for fair team assignments and winner picks, but not for legally audited lottery draws.

Is my list data private?

Yes. Everything runs in your browser. Nothing is sent to any server.

Embed This Tool on Your Website

โ–ผ