A CLEAR LOOK BEHIND THE SPIN
A fair chance.
A visible result.
The animation makes a choice feel like a moment. Your browser makes the random pick first, then the wheel lands on that entry.
How an entry is chosen
For two or more available entries, this tool uses your browser’s crypto.getRandomValues function. Rejection sampling maps the random value to an entry without the uneven rounding that a simple remainder can introduce. Every available entry has the same probability: with four entries, each has a one-in-four chance.
The wheel’s final rotation puts the selected entry under the fixed pointer. Less motion changes the animation, not the odds. Sound is optional. If the browser cannot generate a random value, the tool shows an error instead of inventing a result.
Duplicates and no-repeat rounds
Identical labels remain separate entries. In a list containing Alex, Alex, and Sam, either Alex entry can win, giving the label Alex two of the three chances. The editor flags exact duplicates and can keep only the first. Different capitalization or spelling is not automatically merged.
In no-repeat mode, the chosen entry stays on screen with its result and is removed before the next pick. Duplicate labels can still appear again if another entry has that label. With one entry left, the final pick is certain; it does not use a random number. Restart picks restores that visit’s original list. Reloading starts a fresh round. The five-round games likewise reset on reload.
What the browser remembers
The creator and name picker each remember their own current list and up to ten named wheels in local storage. No account or cloud database is used. A no-repeat round’s starting configuration is remembered; results and round progress are not. Stored data can be unavailable in private browsing or when browser storage is blocked or full.
What a share link contains
A share link includes every applied entry, slice color, and the no-repeat setting. It does not include results, history, or saved-wheel names. The data is encoded in the URL fragment after #wheel=; fragments are not sent in normal HTTP requests. Encoding is not encryption. Anyone who receives the full link can read, copy, or change its choices.
Creating a link requires acknowledging that disclosure. Internal “use these choices” links carry the same configuration between tools in a fragment. When a shared wheel is opened, the fragment is removed from that tab’s address and the wheel loads for that visit. It does not replace the recipient’s remembered wheel until they choose Keep or save it.
Files and practical limits
JSON export creates a local file containing the applied choices, colors, and no-repeat setting. Import is unavailable in this first release. Exports are limited to 64 KB. Share links are limited to 12,000 characters; larger wheels can use JSON instead. These are configuration copies, not links to a live shared database, so later edits do not update an earlier copy.
What this tool is for
Use it for everyday choices, turns, and casual games. It is not a certified draw, regulated raffle, audit log, cryptographic fairness proof, or high-stakes decision system. No weighted entries are implemented. Browser saves do not sync with the mobile app.
Read the privacy and local-save details, pick a name, or try an original wheel game.