Generator Grove

Random List Generator

Paste a list and get it back randomised — a full shuffled order, a sample of N, or split into groups. Add x3 to the end of any line and that entry counts three times.

Weights belong in the list, not in a second column

Almost every list randomiser treats your lines as equal, which is wrong more often than people notice. Prize draws sell extra tickets. Chore rotas owe somebody a lighter month. Playtest orders want the new build to come up more than the old one. The usual workaround is copy-pasting an entry five times and hoping you counted right.

Here the weight is part of the line. Write Cinnamon bun x3 and that entry is three times as likely as a plain line, whether you are shuffling, drawing or sampling with replacement. Whole numbers only, up to 1000, with the multiplier at the very end of the line after a space. The counter under the tool reports the total weight in play, so if you fat-finger x30 you will see it immediately rather than wondering why the same entry keeps winning. Turn the checkbox off if your entries genuinely end in an x and a number — a parts list full of Bracket x2 is ambiguous, and the tool cannot read your mind about which you meant.

Duplicates are a decision, not an accident

Paste a column out of a spreadsheet and you will usually bring duplicates with you. Every free randomiser keeps them silently, which quietly doubles those entries' odds — sometimes exactly what you wanted, sometimes a data-entry error deciding your raffle. So this tool asks. Keep them all is the honest default and matches what you pasted. Fold into weights collapses identical lines into one entry whose weight is the number of copies, so the odds are unchanged but the output stops repeating itself. Remove, keep the first gives every distinct entry one equal chance. Matching ignores case and surrounding spaces, so Bagel and bagel are treated as the same thing.

The bullet-stripping toggle handles the other half of the paste problem: leading 1., 2), -, * and are removed before anything else happens, so a list copied out of a document does not turn into a shuffle of numbers that are no longer in order.

Dealt groups or fixed chunks

Group splitting has two settings because people mean two different things by it. Into this many groups shuffles the list and deals it out one entry at a time, so sizes end up as even as arithmetic allows — with 11 entries and 3 groups you get 4, 4 and 3. Groups of this size shuffles and then cuts the order into consecutive blocks of exactly that size, leaving whatever is left over in a final short group — 11 entries in groups of 4 gives 4, 4 and 3 as well, but 10 entries in groups of 4 gives 4, 4 and 2 rather than 4, 3 and 3. Pick dealt groups for balanced teams and fixed chunks for anything where the size is a hard constraint, like a table that seats six.

Frequently asked questions

Why does my shuffled list still look clumped?

Because a uniform shuffle promises one thing only: that each of the possible orderings is equally likely. It does not promise that the result looks spread out, and the great majority of orderings contain runs of similar items. Output that alternated neatly every time would be the biased one — you would be sampling from a small, tidy subset of all the arrangements. If you need alternation rather than randomness, you want a sort or an interleave, not a shuffle.

Do the inline weights work in every mode?

They apply to shuffling and to drawing a sample. They are deliberately ignored when splitting into groups, because every entry is placed exactly once and a weight has nothing left to influence. If you want a heavier entry to land in a particular group, that is an assignment problem rather than a random one, and this is the wrong tool for it.

How is this different from the random name picker?

A name picker holds a roster, remembers it between visits, and pulls out one name at a time with a reveal. This page never stores anything and works on the whole list in one pass: it hands back a complete randomised order, a sample of N, or a full set of groups, as text you can copy or download. Different job, different shape. Use the picker for calling on students; use this for producing a running order, a shortlist or a team sheet you then paste somewhere else.

Is my list uploaded anywhere?

No. Parsing and randomising happen in JavaScript on your machine. Nothing is requested when you press Randomise, nothing is written to storage, and closing the tab discards everything. Entries are also inserted into the results as plain text nodes rather than markup, so a line containing angle brackets or a stray script tag is displayed literally instead of being executed.

Where does the randomness come from?

From crypto.getRandomValues. Unweighted shuffles use a Fisher–Yates pass, which with an unbiased index source makes every ordering equally probable. Weighted runs instead pick an entry in proportion to its remaining weight, remove it, and repeat — so a heavy entry is likely to come out early but still appears only once. If the browser has no cryptographic random source the tool says so and refuses, rather than quietly downgrading.

Limits worth knowing

Lists of a few thousand entries are comfortable; weighted runs on very long lists slow down because the pool is rebuilt after each pick. There is no seed and no history, so a result cannot be reproduced once you have moved on — copy anything you need to keep. Entries are matched as plain text, so Ada Lovelace and A. Lovelace are two different people as far as duplicate detection is concerned. And because this page can be re-run as many times as you like with nothing recorded, a result from it is not evidence of a fair process in a dispute; it is a convenience, not an audit trail.