Athens ran on RNG
Ancient Athens used a marble machine called a kleroterion to draw citizens for jury duty. Your copy‑paste list is the modern hat full of marbles.
Tip: Ctrl/Cmd + K focuses the box. Draws use crypto.getRandomValues when available.
crypto.getRandomValues (fallback: Math.random()).Ancient Athens used a marble machine called a kleroterion to draw citizens for jury duty. Your copy‑paste list is the modern hat full of marbles.
Adding a name twice literally doubles its odds. “Remove duplicates” is the quickest way to make sure no one quietly stuffs the ballot box.
The Fisher–Yates shuffle (1938) was invented for playing cards. Your “Shuffle All” button runs that same algorithm, ensuring every ordering is equally likely.
Early-round swimming and track lanes are assigned by random draw to avoid lane bias. This tool is basically a mini version of that officiating ritual.
When available, crypto.getRandomValues() taps hardware jitter, fan noise, and timing fuzz so your winner is nudged by microscopic physics.
A random choice generator helps you pick an item from a list without bias. Paste options (one per line) and the tool selects a result using a pseudo-random process. For everyday decisions—like choosing a restaurant, assigning tasks, or running a classroom activity—this is fast, simple, and private. Everything runs in your browser; your data never leaves your device.
The picker converts each non-empty line into an option. When you click “Pick,” it generates a random index to select one or more items. Our implementation prefers the browser’s crypto.getRandomValues for higher-quality randomness, with a safe fallback to Math.random() on older environments. For “Shuffle All,” the tool uses the Fisher–Yates algorithm, which uniformly permutes the list so each order is equally likely.
Fairness means each option has the same probability of being chosen, assuming your list has unique items. If a name appears multiple times, it effectively increases that option’s weight. Use “Remove Duplicates” before drawing if you want strictly equal chances for each unique value. For multiple winners, enable “No repeats” to draw without replacement (e.g., winners cannot be selected twice). If “No repeats” is off, each draw is independent and duplicates are possible.
This tool is designed for casual use, classroom fairness, and lightweight raffles—not for high-stakes, audited giveaways. While crypto.getRandomValues improves entropy, public drawings that require transparency usually demand verifiable methods (e.g., public seeds, third-party proofs, or blockchain-based beacons). For serious audits, publish your list, method, and a verifiable seed, then archive the results.
If you must favor some options (e.g., loyalty tiers), you need a weighted picker rather than duplicate lines. For compliance or public giveaways, consider a cryptographically verifiable process with published seeds and reproducible steps. For everyday choices, this lightweight generator keeps things quick, private, and fair.
Yes. The random pick happens locally in your browser—no data is uploaded.
No. It’s intended for casual decisions and uses the browser’s RNG. For audits, giveaways, or security-critical draws, use a verifiable, cryptographically secure method.
You can pick multiple winners and prevent repeats. Weighted choices aren’t supported in this version.