Pick random items, names, or entries from a list
Select one or more random items from a list for giveaways, team assignments, or quick decisions. Paste your list, choose how many results you need, and generate them instantly. You can also sort your list before picking.
Explore More Data Tools
Powerful utilities for developers, analysts, and data engineers.
List Sorter
Sort text lists alphabetically or numerically in ascending or descending order.
Duplicate Remover
Remove duplicate lines or entries from lists instantly.
JSON Formatter
Beautify and validate JSON structures for developers.
JSON to CSV Converter
Convert JSON datasets into spreadsheet-ready CSV files.
CSV to JSON Converter
Transform CSV spreadsheet data into structured JSON objects.
Random Selector
Randomly pick names, items, or winners from a list instantly.
Random Selector — Cryptographically Fair Random Choices From Any List
Random selection is used to produce fair outcomes in situations where human choice would introduce bias — selecting a contest winner from a list of entrants, choosing which team goes first in a competition, assigning participants to treatment and control groups in an experiment, selecting a random sample from a dataset for manual review, determining the order of presentations in a meeting, and many other contexts where every item in the list must have an equal probability of being selected. The fairness guarantee depends entirely on the randomness source used to make the selection. JavaScript's Math.random() uses a seeded pseudo-random number generator that produces statistically uniform distributions but is not cryptographically random — meaning a sophisticated observer who knows the seed could predict the output. The random selector uses the Web Crypto API's crypto.getRandomValues() for cryptographically secure randomness that is unpredictable regardless of the observer's knowledge.
Sampling without replacement — selecting N items from a list where each item can be selected at most once — requires a shuffle algorithm rather than N independent random selections. N independent selections from a list of M items produce samples where any item could theoretically be selected multiple times (sampling with replacement), which is correct for dice rolls and lottery ticket drawings but wrong for team assignment, contest winner selection, and any other context where the same item should not appear twice in the result. The Fisher-Yates shuffle algorithm produces a uniformly random permutation of the list in O(n) time and is the correct algorithm for sampling without replacement. The random selector implements Fisher-Yates for all sampling operations and makes the distinction between with-replacement and without-replacement selection explicit so the correct algorithm is applied for each use case.
Weighted random selection assigns different selection probabilities to different items — a selection where item A has twice the weight of item B is selected with twice the probability. This is the correct algorithm for probability distributions that are not uniform: a contest where participants earn entries through purchases (heavier purchasers have more entries), a routing system that distributes traffic proportionally to server capacity, a recommendation system that favors higher-rated items without exclusively showing them. The random selector accepts weights as a separate column alongside the item list, normalizes the weights to probabilities that sum to 1, and applies the alias method algorithm to achieve weighted selection in O(1) time per draw — making it efficient even for very large item lists with complex weight distributions.