Shuffle a list, pick N at random, split into K teams, or draw one winner — fair crypto randomness, browser-only
- Runs locally
- Category Text
- Best for Removing repetitive cleanup work from everyday writing and operations.
Paste a list above, then choose a mode and run.
What this tool does
A no-nonsense list randomizer that does four jobs well: shuffle a list into a fair random order, pick N random items (with or without repeats), split a list into K evenly-sized groups, and draw a single winner with an optional reveal animation. Paste one item per line — names, raffle tickets, todo items, lunch options — and pick a mode. Unlike the `Math.random()` toys most "random name picker" pages ship, every shuffle and draw here uses an unbiased Fisher-Yates pass driven by `crypto.getRandomValues`, the same CSPRNG browsers expose for security work, so there is no modulo bias and no order that is quietly more likely than another. The list lives in the URL query so a shareable link reproduces the same starting list (the random result itself is regenerated each run, never baked into the link — fairness for everyone who opens it). Your last mode and options are remembered in localStorage. Everything runs in your browser tab: no list, name, or draw is ever sent to a server.
Tool details
- Input
- Text + Numbers
- The page exposes text boxes, numeric controls, file pickers, or structured inputs depending on the tool.
- Output
- Live result + Copy
- The result area focuses on usable output, with copy, download, or preview actions when supported.
- Privacy
- Browser-side processing
- The main tool logic does not call an external API, so inputs normally stay in the current tab.
- Save / share
- Shareable URL state
- Key settings are encoded in the URL so another person can reopen the same setup.
- Performance budget
- Initial JS <= 10 KB
- No WASM budget is declared, keeping the tool quick to open on mobile.
- Best fit
- Text · Content Creator
- Category and role tags drive related tools, internal links, and quick fit checks.
How to use
-
1. Input
Paste or drop your content into the tool panel.
-
2. Process
Click the button. All processing is local in your browser.
-
3. Copy / Download
Copy the result or download to disk in one click.
How List Randomizer fits into your work
Use it to clean, compare, reshape, or extract plain text before it goes into a document, CMS, spreadsheet, or prompt.
Text jobs
- Removing repetitive cleanup work from everyday writing and operations.
- Making text easier to compare, paste, publish, or feed into another tool.
- Working with content locally when the text is private or unfinished.
Text checks
- Scan for unintended whitespace, duplicate lines, and lost punctuation.
- For long text, test the first few lines before applying the whole change.
- Copy the final output only after checking the preview.
Good next steps
These links move the current task into a more complete workflow.
- 1 Random Number Generator Generate cryptographically-secure random integers — single or batch, with/without duplicates — browser-only Open
- 2 Multicultural Name Generator Random names from 11 cultures — Chinese, English, Japanese, Korean, Arabic, Russian + 5 European. Open
- 3 Text Sorter Sort lines alphabetically, numerically, by length, or reverse — case-sensitive optional — browser-only Open
Real-world use cases
Pick a raffle or giveaway winner live
Running a Twitter giveaway or a Discord raffle and need a winner nobody can accuse you of rigging. Paste one entrant per line, switch to "Draw winner", turn on the reveal animation, and hit draw on stream. Because the draw uses crypto-grade randomness rolled at the moment you click — not a result baked into a link — you can screen- record the whole thing as proof. Want three winners instead of one? Switch to "Pick N", set N to 3, leave repeats off, and you get three distinct names in one pass.
Split a class or workshop into project teams
You have 27 students and want 6 balanced project groups. Paste the 27 names, choose "Split into groups", set K to 6, and the tool deals them round-robin into 6 buckets — sizes 5,5,5,4,4,4 — after a fair shuffle so nobody can predict their group from the order on the roster. Copy each group block straight into Slack or a whiteboard. Re-roll until the mix feels right; every roll reshuffles from scratch.
Randomize a chore or on-call rota
Four flatmates, four weeks of dish duty, and a standing argument about who got stuck with the worst week last time. Paste the names, hit "Shuffle", and the resulting order is the rota — order 1 takes week 1 and so on. The unbiased shuffle means no name is more likely to land in any given slot, which is exactly the neutrality you want when feelings are involved. The same trick works for on-call rotations and code-review assignment.
Break a decision deadlock
Five restaurants on the list, a group chat that's been "idk, you pick" for twenty minutes. Paste the five options, "Draw winner", one click, done. Using a verifiably fair RNG instead of one person's "let's just go to X" keeps it neutral — no one can claim the chooser steered it. Works for picking a movie, a sprint demo presenter, or which feature to build first.
Sample rows for a spot check or QA pass
You exported 800 support tickets and your manager wants you to read a random 25 for a quality audit. Paste the ticket IDs, "Pick N", set N to 25, repeats off. You get 25 IDs drawn without replacement — a proper simple random sample, not "the first 25" or "every 32nd one", both of which can hide systematic bias. Copy the sample and pull those tickets.
Common pitfalls
Expecting the share link to lock in a specific winner. It doesn't, by design — the link carries your input list and mode, but each run re-rolls the result. If you need a winner everyone agrees on, draw once live and screenshot it; don't send a link and assume the recipient sees your result.
Leaving "allow repeats" on when you actually want distinct picks. With repeats on, "pick 3" can return the same name twice or three times (sampling with replacement). For raffle winners or a quality sample you almost always want repeats off — that's the default, so only turn it on if you genuinely want with-replacement behavior.
Pasting items separated by commas instead of newlines. The tool splits on line breaks, one item per line, so "alice, bob, carol" on a single line is treated as one long item. Put each entry on its own line — paste a spreadsheet column and it lines up automatically.
Privacy
Every operation — Fisher-Yates shuffle, the crypto.getRandomValues draws, grouping, winner selection — is plain JavaScript that runs inside your browser tab. No list, name, raffle entry, or draw result is ever sent to a server, logged, or used for analytics. The one thing that does leave the page is the URL share state: your input list is encoded into the query string so a shareable link reproduces the same starting list, which means the destination's access log will record those lines if you paste the link somewhere. Random results are never stored in the URL. For a private entrant list, copy the result text manually instead of sharing the link.
FAQ
Tool combos
Folks in your role tend to reach for these alongside this tool.
- 24-Point Solver & Game 24-point solver and game — enter 4 numbers and get every solution instantly, or play random hands against the clock.
- Age Calculator Calculate your exact age — years, months, days, hours. Compare two dates or count to a future date.
- Airline Luggage Allowance Checker Airline luggage allowance — 50+ carriers' carry-on / checked baggage rules with size, weight, and excess fee.
- Annuity Calculator Annuity & retirement calculator — see monthly income from your savings, accumulation + payout phases, multiple scenarios.