Secure browser-local randomizer

Spin the Wheel

Build a custom wheel from names or choices and select one fairly. The winner is chosen before the lightweight wheel animation begins.

Duplicate options remain separate slices and intentionally increase that label’s chance.

Choose options and generate a result.

How it works

Every nonblank line becomes one equal wheel segment. Secure rejection sampling selects the winning index first. The display then rotates the center of that exact segment to the pointer; animation never determines the result.

Example

With Pizza, Tacos, Burgers, and Sushi, each line receives one of four equal segments. Entering Pizza twice creates two Pizza segments rather than silently removing the duplicate.

Limits and appropriate use

Use 2 to 100 options, with up to 200 characters per option. Duplicate nonblank entries are preserved as separate slices, so repeated labels intentionally receive additional chances. Wheel labels may be shortened visually, but the full selected text remains in the result.

Randomness and privacy

Production uses Web Crypto and never falls back to Math.random. Automated tests inject deterministic values only inside the test harness; there is no public URL, query parameter, or page control for replacing the random source.

Related randomizers