Random Choice Picker & Decision Wheel

Random Choice Picker & Decision Wheel

Pick random choices, names, or raffle winners with custom weights, elimination mode, cryptographically fair CSPRNG spins, and team generator.

Presets:
Lbl choice pool
8 Lbl active count
Lbl choice pool
Neapolitan W…Fresh Salmon…Street Tacos…Thai Green C…Smash Burger…Mediterranea…Tonkotsu Por…Korean BBQ R…
Stat active choices8 / 8
Stat fairness entropyStat hardware csprng
Stat total spins0
Technical Reference & Architecture Guide

Random Choice Picker & Decision Wheel Guide

Pick random choices, names, or raffle winners with custom weights, elimination mode, cryptographically fair CSPRNG spins, and team generator.

Random Choice Picker & Decision Wheel Guide — Client-Side In-Memory Architecture & Data Flow
Random Choice Picker & Decision Wheel Guide — Client-Side In-Memory Architecture & Data Flow

Key Parameters & Controls

Candidate Pool (Choices List)Text Area / Delimited Array

List of names, choices, or items to select from. Supports line-breaks, commas, and pasted spreadsheet columns with automatic dirty-character stripping and weight parsing.

Default: 8 items
Selection Protocol & ModeEnumeration (single | multi | shuffle | teams)

Governs draw execution: single pick, simultaneous top-K winner extraction, full Fisher-Yates sequence shuffle, or equal-size team group partitioning.

Default: single
Draw Replacement (Elimination Mode)Boolean (true = With Replacement | false = Elimination)

Controls whether picked items are permanently removed from subsequent draws. Elimination mode recalculates remaining probability weights dynamically after each turn.

Default: false (Elimination)
CSPRNG Entropy EngineCryptographic Protocol (Web Crypto API)

Samples 32-bit hardware entropy via window.crypto.getRandomValues(new Uint32Array(1)) instead of Math.random(), guaranteeing uniform cryptographic unpredictability.

Default: Web Crypto CSPRNG
Weighting System (Tickets & Odds)Decimal & Integer Weight Mapping

Custom ticket allocations assigned to choices. Probability for item i is calculated as w_i / sum(w_k). Visual wheel slice arcs scale proportionally to assigned weights.

Default: 1.0 per item
Spin Duration & Easing CurveFloat Duration (0.0s to 6.0s) & Cubic Bezier

Controls animation speed and suspense curve for wheel rotation. Web Audio click frequency dynamically decreases as angular deceleration progresses.

Default: 3.5 seconds

Pro Tips & Best Practices

Why Math.random() Fails Fairness Audits in Giveaways and Raffles

Standard JavaScript Math.random() uses the pseudo-random xorshift128+ algorithm, which is non-cryptographic and susceptible to state reconstruction. For auditable online contests, giveaways, or high-stakes lotteries, always use CSPRNG algorithms powered by window.crypto.getRandomValues, which derive true physical entropy directly from the client operating system kernel.

How to Clean Dirty Pasted Lists with Automatic Weight Parsing

You can paste lists directly from Word, Excel, or Google Docs without manual reformatting. The parser automatically removes numbered prefixes (like '1.', '2)'), leading dashes ('-'), bullet points, and blank lines. To assign tickets, simply append a colon or parentheses, such as 'Gold Ticket: 5' or 'Silver Ticket (2)'.

Using Elimination Mode for Fair Multi-Round Competitions

When running classroom quizzes, secret gift exchanges, or raffle prize stages with multiple award tiers, turn off 'Draw With Replacement'. Each selected winner is immediately removed from the candidate pool, and all remaining choices have their percentage odds dynamically recalculated so total probability always equals 100%.

Verifying True Randomness with Monte Carlo Chi-Square Testing

If participants suspect a wheel is biased, click the 'Monte Carlo Simulation' tab. The engine runs 10,000 automated background draws in 50 milliseconds using your exact weights, displaying an empirical frequency bar chart alongside a chi-square goodness-of-fit test to prove mathematical fairness.

Common Gotchas & Troubleshooting

⚠️A high-ticket item seems to win too often in weighted mode

Verify the relative ratio of your ticket weights. An item with 10 tickets compared to five items with 1 ticket each holds a 10/15 (66.7%) chance of winning on every single draw. Check the 'Probability & Odds Matrix' tab to view exact percentage odds, or switch to 'Equal Odds' mode to give every choice identical probability.

⚠️Accidental duplicate winners appearing during a multi-choice raffle

Ensure 'Draw With Replacement' is toggled off (Elimination Mode enabled). When replacement is enabled, every pick is treated as an independent event with identical odds, which naturally allows items to be selected multiple times in succession.

⚠️Wheel spin sound effects are silent in the browser

Modern web browsers (Chrome, Safari, Edge) block audio playback until the user interacts with the page. Ensure you have clicked on the page or pressed the 'Spin Wheel' button. The procedural Web Audio engine will automatically resume its AudioContext upon the first click.

Frequently Asked Questions

Is a random choice picker truly random or can it be rigged?▼

This tool is 100% client-side and uses the Web Crypto API (window.crypto.getRandomValues), which generates cryptographically secure pseudo-random numbers (CSPRNG) seeded by hardware entropy from your device's operating system. Because code runs entirely inside your browser with zero server roundtrips, it cannot be rigged, intercepted, or manipulated by third parties.

How do you pick a random choice with weighted probabilities?▼

To assign custom weights, simply append the ticket count or percentage to any choice using a colon or parentheses (for example, 'Choice A: 3' and 'Choice B: 1'). The algorithm calculates the cumulative distribution function (CDF) where Choice A receives a 75% probability and Choice B receives a 25% probability, rendering proportionally sized slices on the visual wheel.

What is the difference between drawing with replacement and without replacement?▼

Drawing with replacement means a selected item remains in the candidate pool and can be chosen again on subsequent spins, like rolling a six-sided die. Drawing without replacement (elimination mode) removes the winning item immediately after selection, ensuring that each option can only win once, like dealing cards from a standard deck.

How do you pick multiple random winners from a list without duplicates?▼

Select 'Multi-Winner Draw' from the selection mode dropdown, specify the number of winners desired (e.g., 3 winners), and ensure 'Draw With Replacement' is turned off. The engine executes a cryptographically fair Fisher-Yates shuffle algorithm to extract distinct winners in a single instantaneous draw.

Can I split a list of names into equal random teams or pairs?▼

Yes. Choose 'Team / Group Partition' mode, enter your list of participant names, and specify the desired number of groups or members per team. The algorithm randomly shuffles all participants and evenly distributes them into balanced teams, making it ideal for classroom projects, sports leagues, and agile engineering squads.

Related Tools & Utilities

All Tools →