Random selection is the statistical practice of drawing one or more items from a finite list so that every candidate has the same chance of being chosen. It removes human bias, supports fair decision-making, and underpins lotteries, sampling, and testing.
This tool lets you paste or import any plain-text list, set the number of picks, and instantly receive an unbiased subset. You can enforce unique draws, ignore blanks, remove duplicates, or alphabetise results, all processed entirely in your browser.
Use it to assign chores, raffle prizes, or pick meeting topics without debate. One click delivers impartial results, keeping group decisions quick and transparent.
Uniform random sampling ensures each list entry has probability , where N is the candidate count. When sampling without replacement, probabilities remain equal at each draw, but the pool shrinks, guaranteeing uniqueness until exhausted.
Core Probability:
k = items requested, N = candidate items. For k > N, probability is undefined because unique sampling becomes impossible.
Candidate Count (N) | Pick Size (k) | Single-Item Probability (P) |
---|---|---|
5 | 1 | 0.20 |
10 | 3 | 0.30 |
20 | 5 | 0.25 |
Probabilities scale linearly with k; doubling the requested picks doubles each item’s chance of appearance, provided sampling is without replacement.
Parameters:
Parameter | Meaning | Unit/Type | Typical Range |
---|---|---|---|
list | Source text entries, one per line | string | 2 – 5000 lines |
pickCount | Number of items to draw | integer | 1 – N |
unique | Forbids repeat picks within the same draw | boolean | true/false |
ignoreBlank | Skips empty lines | boolean | true/false |
removeDuplicates | Collapses identical lines before drawing | boolean | true/false |
sortAlpha | Alphabetises output list | boolean | true/false |
Example (10 candidates, k = 3):
Each name has a 30 % chance of being picked; three unique names appear in the final output.
Math.random()
provides sufficiently uniform distribution.See Knuth’s Seminumerical Algorithms and the National Institute of Standards and Technology’s tests on RNG uniformity for validation of uniform sampling methods.
The algorithm operates entirely client-side, aligning with GDPR provisions for local processing of non-personal data.
Follow these steps to generate a fair random subset.
No. All processing happens in-browser and vanishes when the page closes.
The tool relies on the browser’s built-in pseudo-random generator, which is sufficiently uniform for everyday tasks.
Yes. Enable the “Pick only once per item” option to prevent repeats within a single draw.
Plain-text files with .txt
or .csv
extensions are accepted and line-split automatically.
Ensure your list contains at least one non-blank line; the button re-enables once valid candidates exist.