Random Choice Spinner: Select Items Fairly from Any List
Paste your options, spin the weighted wheel, and let cryptographically secure randomness decide. Every spin is mathematically fair and runs 100% in your browser.
The Complete Guide to Fair Random Selection and Decision Spinners
Whether you need to pick a raffle winner, assign tasks to team members, choose tonight's dinner restaurant, or run a classroom activity, a random choice spinner gives every option a provably fair shot. This guide explains how to get the most from this tool and why the underlying randomness technology matters.
How to Use This Tool
Start by typing or pasting your list of items into the List Management panel on the left. Each item goes on its own line. The wheel automatically updates to show one colored slice per item as you type. Press Spin the Wheel to launch the animation. A pointer at the top of the wheel indicates the winning slice after the wheel slows to a stop.
Toggle Remove Winner After Spin to run elimination-style draws where each winner is removed from the pool before the next spin. Toggle Weighted Probability to reveal individual weight inputs for each item. Enter any positive number as a relative weight: an item with weight 3 will be selected approximately three times as often as an item with weight 1 over many spins.
Use Copy Result to copy the current winner to your clipboard, or Clear History to reset the session log. The metrics panel tracks total spins and remaining items at a glance.
Why Cryptographic Randomness Matters for Fair Selection
Most web-based tools rely on JavaScript's Math.random(). While adequate for games and simulations, Math.random() uses a deterministic algorithm (typically an xorshift variant) seeded by a value derived from the system clock. The output can be predicted if the seed is known, and the distribution has subtle biases at scale.
This tool uses window.crypto.getRandomValues(), which is mandated by the W3C Web Cryptography API standard and is implemented in every modern browser. It pulls entropy directly from the operating system's randomness pool, which is continuously refilled by hardware events. The result is a statistically indistinguishable-from-true-random number that no script, extension, or observer can predict.
How Weighted Probability Changes Your Odds
Weighted selection works by mapping each item to a proportional segment of a total probability range. If you have items A (weight 3), B (weight 2), and C (weight 1), the total weight is 6. Item A covers the range 0-3, Item B covers 3-5, and Item C covers 5-6. A random number is generated in the range 0 to 6, and the item whose range contains that number is selected. The visual wheel reflects this directly: each slice's arc angle is proportional to its weight.
The Physics of Deceleration: Spin Dynamics Explained
The spinner animation uses a cubic ease-out function to simulate realistic momentum loss. A real wheel loses kinetic energy to friction at a rate that decelerates the rotation more slowly at first and more rapidly near the end. The cubic formula f(t) = 1 - (1 - t)^3 closely approximates this behavior, producing a visually satisfying spin that feels physical rather than digital. The minimum spin count is set to six full rotations to ensure genuine visual excitement on every draw.
Practical Use Cases for a Random Choice Spinner
Random choice spinners are used in classrooms to call on students without bias, in offices to assign rotating duties or meeting facilitators, at parties for game decisions and dares, in content creation to decide topics or formats from a backlog, and in fantasy sports drafts to determine pick order. The Remove Winner mode is especially useful for any scenario where you need to draw multiple winners from a single pool without repetition.
Frequently Asked Questions
window.crypto.getRandomValues(), a cryptographically secure random number generator built into your browser. Unlike Math.random(), which uses a predictable algorithm, crypto.getRandomValues() draws from the operating system's entropy pool. Every item in your list has a mathematically equal probability of being selected, assuming equal weights.