Paste any list and get it back in a uniformly random order. The shuffle uses the Fisher–Yates algorithm driven by your browser's cryptographic random source, so every possible ordering is equally likely — unlike the sort-based one-liner most scripts use, which is measurably biased. Your list never leaves the page.
Settings
Recent results
Generated locally in your browser — your settings and results never leave this page.
What the list randomizer does
Paste a list and get it back in a new, genuinely random order. Every entry is kept — nothing is dropped, nothing is duplicated — which makes this the right tool for running orders, presentation sequences, rotas, playlists and any situation where the question is “what order?” rather than “who wins?”.
It handles up to 10,000 lines, accepts entries separated by new lines or commas, can strip duplicate entries before shuffling, and exports as plain text, a numbered list or CSV.
The algorithm, and why it matters
The shuffle is Fisher–Yates. Walking backwards through the list, each position is swapped with a uniformly chosen position at or before it. The result is that all n! possible orderings are exactly equally likely, and the work is linear in the length of the list.
Every draw on this page starts with crypto.getRandomValues, the cryptographically strong random source built into your browser. That is a CSPRNG seeded from operating-system entropy: unpredictable in practice, and the right choice when a result decides something that matters. It is deliberately not described as “true randomness”, which would require a physical entropy source such as atmospheric noise or radioactive decay. Tools that claim true randomness from a browser are overstating what the platform provides.
The sort-based shuffle is broken, and it is everywhere
The most widely copied shuffle on the internet is a one-liner: sort the array with a comparator that returns a random positive or negative number. It looks elegant and it is measurably wrong. Sorting algorithms assume the comparator is consistent — that if a beats b and b beats c, then a beats c. A random comparator violates that, so the algorithm’s behaviour becomes implementation-specific and the resulting distribution is skewed, typically leaving elements closer to where they started.
The bias is easy to demonstrate: shuffle three items many thousands of times with each method and count how often each of the six orderings appears. Fisher–Yates gives roughly equal counts; the sort-based version does not. This tool’s automated tests include exactly that check, using a chi-square test against a uniform expectation.
Worked example
Six names go in; the same six come back in a new order:
Input Output Alice Daniel Ben -> Alice Chloe Finn Daniel Ben Emma Emma Finn Chloe
Note what did not happen: nobody vanished, nobody appeared twice, and the list length is unchanged. That invariant is checked on every run by the test suite, including for lists containing accented characters, non-Latin scripts and emoji.
When to shuffle and when to pick
These are different operations and choosing wrongly causes real confusion. Shuffling reorders and keeps everything: use it for turn order, running order, or randomising question sequence. Picking selects a subset and discards the rest: use it for winners, volunteers or a single choice.
A useful test: if the answer should be a list the same length as your input, you want a shuffle. If the answer is shorter than your input, you want a picker.
Practical uses
- Presentation order. Shuffle a class or team list so nobody can claim the order was chosen to favour anyone.
- Rotas and chores. Shuffle once, assign in order, and the sequence is defensible.
- Testing. Randomise input order to catch code that accidentally depends on sequence — a classic source of flaky behaviour.
- Playlists and study decks. Break the memorised order so you are learning the material rather than the sequence.
- Interview panels. Randomising candidate order removes one small avenue for unconscious ordering effects.
Reproducing a shuffle
Switch to seeded mode and enter any word or number. The same list with the same seed produces the same order, every time. This is useful when you need to demonstrate that an order was not re-rolled until it looked convenient — publish the seed alongside the result and anyone can repeat it.
Privacy and limitations
Your list is processed in your browser and is never uploaded. It is also deliberately excluded from shareable links: pasting a class list or a participant list here cannot leak through a URL you send to someone else.
Limitations: 10,000 entries maximum, blank lines are dropped, and entries are trimmed of surrounding whitespace. Duplicate removal is case-insensitive, so “Alice” and “alice” count as the same entry when that option is enabled.
Related tools
The Random Item Picker and Random Name Picker draw a subset from a list instead of reordering it. The Random Team Generator shuffles and then splits into balanced groups. For numbers rather than text, the Random Number Generator covers ranges, uniqueness and statistics.
How to use the List Randomizer
- Paste your list into the box — one entry per line.
- Tick "Remove duplicate entries first" if your list may contain repeats.
- Press Shuffle list to put every entry into a new random order.
- Copy the plain or numbered output, or export it as CSV.
Frequently asked questions
What algorithm is used to shuffle the list?
The Fisher–Yates shuffle, driven by your browser's cryptographic random source. Walking backwards through the list, each position is swapped with a uniformly chosen earlier position, which makes every one of the possible orderings equally likely.
Why not just sort the list randomly?
The popular one-liner — sorting with a comparator that returns a random sign — is measurably biased, because sort algorithms assume a consistent comparator and call it an unpredictable number of times. Items near their starting position tend to stay there. Fisher–Yates has no such flaw.
Does shuffling ever lose or duplicate an entry?
No. A shuffle is a permutation: the output always contains exactly the same entries as the input, each once. The automated tests verify this on every run, including lists containing accented characters, non-Latin scripts and emoji.
How long a list can I shuffle?
Up to 10,000 entries. Beyond that the tool stops and tells you rather than freezing the page. In practice, shuffling several thousand lines is effectively instant because the work is linear in the list length.
Can I reproduce the same shuffle again?
Yes — choose Seeded mode and enter a seed. The same list plus the same seed always produces the same order, which is handy when you need to document how an order was decided or repeat it in a later session.
Is a shuffled list the same as picking random items?
They answer different questions. Shuffling reorders everything and keeps every entry. Picking selects a subset and leaves the rest out. If you want a few winners rather than a full running order, the Random Item Picker is the closer fit.
Is my list uploaded anywhere?
No. The list is processed entirely in your browser, is never transmitted, and is deliberately not included in any shareable link — so pasting names or private entries here does not expose them.