Spin Wheel Random Picker

Paste names or import a TXT or CSV file, then spin the wheel to make a fair random choice.

Build your wheel

Enter one item per line or import the first column of a TXT or CSV file.

6 items

CSV imports use the first column. A header row is treated as an item.

Your list and results stay in this browser. ToolSG does not upload them.

Your spin wheel

The winner is selected securely before the animation begins.

Recent winners

The latest 10 results are stored only in this browser.

No winners yet. Spin the wheel to create your first result.

In-depth guide

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.

Last verified: Plain-text version of this guide

Key figures at a glance

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. Step 1: Prepare the list

    Use one choice per line or import UTF-8 TXT/CSV. Review the imported list before spinning.

  2. Step 2: Review duplicates

    Remove accidental repeated entries. Leave repeats only when you intend extra weight.

  3. Step 3: Spin and show the result

    The entry is selected before animation. Spin duration changes presentation, not that selected result.

  4. Step 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. Step 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 can help review a list, and the 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

  1. W3C — Web Cryptography API: getRandomValues
  2. MDN — Crypto.getRandomValues
  3. MDN — Window.localStorage
  4. MDN — prefers-reduced-motion

This guide explains published rules in plain language. It is not financial, legal or official advice — rules change, so confirm with the agency linked above before you commit.