# Spin wheel: entry odds, duplicate names and removing winners

> Understand how random selection precedes animation, how duplicates change probabilities, and how imports, removal and browser history work.

- Tool: [Spin Wheel Random Picker](https://toolsg.com/en/spin-wheel)
- Language: en (available: en, zh, ms, ta)
- Last verified against official sources: 2026-10-19
- Source site: ToolSG — a planning guide, not official or financial advice. Cite the agencies listed under Sources.

## Key figures at a glance

| Fact | Value | Source |
| --- | --- | --- |
| Selection | 32-bit browser randomness with rejection sampling — crypto.getRandomValues supplies the random value; the animation follows the selected entry. |  |
| Minimum list | 2 non-empty entries — Pasted lines are trimmed and blanks removed. |  |
| Chance per entry | 1 / total entries — Duplicate names remain separate eligible entries. |  |
| Recent history | Latest 10 results — Saved with the list and settings in this browser profile when local storage is available. |  |
| Animation duration | 3, 5, 8 or 12 seconds — Reduced-motion preference skips the spin animation. |  |

## Run a draw with a checked list

1. **Prepare the list** — Use one choice per line or import UTF-8 TXT/CSV. Review the imported list before spinning.
2. **Review duplicates** — Remove accidental repeated entries. Leave repeats only when you intend extra weight.
3. **Spin and show the result** — The entry is selected before animation. Spin duration changes presentation, not that selected result.
4. **Remove entries between rounds** — Remove winner deletes only the first exact match. Delete every entry for a person if that person must not win again.
5. **Record important results** — Copy results elsewhere before clearing history or leaving the browser; only the latest 10 are kept.

## What selects the result

The picker requests a random unsigned 32-bit value from the browser's cryptography API. It rejects values in the incomplete tail above the largest multiple of the entry count, then uses the remainder to choose an index. This avoids the modulo bias that a direct remainder operation would introduce.

The winning entry is selected before the wheel starts moving. The animation lands on its segment. Changing the duration or using reduced motion does not change that already-selected entry. The browser's random source and the supplied list determine the selection; animation is not a separate draw.

## Duplicate entries change the denominator

Each valid row has one chance out of the total row count. A person's chance is the number of their entries divided by all entries. Percentages below are rounded to one decimal place.

| Initially distinct entries | Each initially | One name entered twice instead |
| --- | --- | --- |
| 2 | 50.0% | 2 / 3 = 66.7% |
| 6 | 16.7% | 2 / 7 = 28.6% |
| 20 | 5.0% | 2 / 21 = 9.5% |

Adding a second copy changes the total, so it is not simply twice the original percentage. The duplicate warning ignores letter case and counts extra copies. For `Ben`, `ben`, `BEN`, `Chen`, it reports two duplicates, while all four entries stay eligible.

## Removing winners

Removal deletes the first entry whose text exactly matches the displayed winner. Other identical copies remain; case variants also remain. For person-level no-repeat draws, manually remove all entries belonging to that person, including aliases.

With distinct entries, removing one from a six-entry list changes each remaining chance from 1/6 to 1/5. No history-based exclusion happens automatically. The tool cannot spin with one remaining entry; identify that final entry separately if needed.

## Importing and displaying names

TXT uses one item per line. CSV uses the first column, handles quoted commas and doubled quotes, and collapses whitespace inside the selected cell. Headers are not detected: `Name` can become an eligible item. Semicolons are not column separators here.

Files are read as UTF-8. Check Chinese and Tamil names after import, especially files exported using an older encoding. This importer is not a strict CSV validator.

Wheel labels can be shortened for display; the list and full winner text remain. A shortened label is not a separate entry.

## Storage and practical limits

The list, settings and latest 10 results are stored locally in the current browser profile, not uploaded for selection. Another person using that profile can see them. Storage is not a backed-up record: site-data clearing and private-session expiry can remove the relevant saved state. Private browsing does not erase data from your normal browser profile.

Clear history removes results. Reset restores the sample list and clears results, then saves the fresh state; it is not an instruction to erase all site storage. Very large lists depend on browser resources.

Use this picker for casual group choices. It is not a certified drawing or audit system. [The text sorter](https://toolsg.com/en/text-sorter) can help review a list, and [the random word generator](https://toolsg.com/en/random-word-generator) supplies activity prompts.

## Frequently asked questions

**How does the spin wheel choose a winner?**

The tool securely selects an entry in the browser before starting the animation. It then rotates the canvas so the predetermined winning segment stops at the pointer.

**Can I import employee names from a spreadsheet?**

Yes. Export the names as a CSV file with the desired names in the first column, then import it. A header is treated as an item and can be removed in the editor.

**What happens when my list contains duplicates?**

Duplicates are kept and each occurrence gets its own wheel segment. The tool displays a warning because repeated items have a proportionally higher chance of winning.

**Does ToolSG upload or save my names?**

No. File reading, selection, and storage happen in your browser. The saved list and recent history remain local to the current browser profile.

**Can I prevent the same winner from being selected again?**

Choose Remove winner and continue after a spin. This removes only the first exact matching entry. Other copies remain eligible; remove every entry for that person if they must not win again.

**How many items can I put on the wheel?**

There is no fixed maximum list size or label length. At least two items are required, and extremely large lists are limited only by the available browser and device resources.


## Sources

- [W3C — Web Cryptography API: getRandomValues](https://www.w3.org/TR/webcrypto/#Crypto-method-getRandomValues)
- [MDN — Crypto.getRandomValues](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues)
- [MDN — Window.localStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage)
- [MDN — prefers-reduced-motion](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion)
