Decision Wheel & Random Picker NEW

Unbiased decision wheel powered by cryptographic randomness, weighted entries, and reduced-motion support. Pick options, randomize team standups, decide meals, or roll dice.

Private by architecture: All processing is 100% client-side memory. Your data never leaves this browser tab.

Choices (0)

Presets:

One choice per line. Optional weights: Choice : 2 or Choice, 3

Selection History

  • No selections yet in this session.

About This Tool

Making unbiased choices for team standups, task assignments, meal decisions, or prize drawings requires genuine fairness. Standard pseudo-random numbers in JavaScript (Math.random) can suffer from PRNG predictability and modulo bias.

This interactive wheel uses the Web Crypto API (crypto.getRandomValues) combined with rejection-sampling to guarantee strictly uniform, cryptographically unbiased selection. You can assign proportional numeric weights to any option, remove selected choices between rounds, and export or review full spin histories.

Key Features

  • Cryptographic random fairness: Picks choices using crypto.getRandomValues and rejection sampling to eliminate modulo bias.
  • Quick decision presets: One-click presets for Yes/No, Team Standups, Meals, Priority Dice, Coin Flips, and Agile Story Points.
  • Custom numeric weighting: Assign custom probabilities using formats like "Option : 3" or "Choice, 2" for proportional slice sizes.
  • Reduced-motion instant pick: Respects prefers-reduced-motion system preferences by selecting choices immediately without spinning animation.
  • Remove winner workflow: Easily pop out the winning choice with a single click after each round to run multi-stage selections.
  • Spin audit history: Inspect the chronological log of drawn choices during your meeting or drawing.

Frequently Asked Questions

How does the random selection work under the hood?
Rather than relying on Math.random(), the engine samples hardware entropy from crypto.getRandomValues() and applies rejection sampling across total entry weight tickets. The visual spin animation aligns smoothly with this cryptographically pre-selected result.
How do I add weights to options?
Write the weight after a colon or comma on the same line. For example, "Yes : 3" or "Option B, 2". An entry without a weight defaults to 1.
Does the wheel support accessibility and reduced motion?
Yes. Users with prefers-reduced-motion or those using the Instant Pick button receive an immediate choice announcement without triggering animation nausea.
Are my choices saved or sent to any server?
No. The wheel operates entirely on your computer in client-side memory. Refreshing or closing the tab clears your choices and history.