Skip to main content

List Randomizer — Shuffle, Pick, Group, Draw

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. 1. Input

    Paste or drop your content into the tool panel.

  2. 2. Process

    Click the button. All processing is local in your browser.

  3. 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. 1 Random Number Generator Generate cryptographically-secure random integers — single or batch, with/without duplicates — browser-only Open
  2. 2 Multicultural Name Generator Random names from 11 cultures — Chinese, English, Japanese, Korean, Arabic, Russian + 5 European. Open
  3. 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.

Made by Toolora · 100% client-side · Updated 2026-05-29