Wheel Spinner
Paste names or options, spin the wheel, copy the winner. The list stays in this tab. No ads, no account, no upload.
6 on the wheel. Up to 200 names. A longer paste is cut so the tab stays usable.
Spin to pick a name.
The names stay in this tab
I built this because the other wheels kept asking for an email. You paste a class list, you spin once, and the save button wants an account. Or a video plays before the next spin. The list you came to use sits behind a signup wall. That is a lot of friction for a random name.
This page does the pick here. Open the network panel, spin, and you will not see Ada or Ben go out. Mixpanel and Google Analytics load with the rest of Softery.io. They see that someone opened the tool and that a spin happened. They do not see the names. If you came here because a privacy page promised zero third-party scripts, that is not this site, and I will not write that sentence.
The current list also stays in this browser. Refresh tomorrow and the roster is still here, until you paste a new one or clear the site data. It does not follow you to another phone. That is the trade for skipping the login wall.
Paste a list, or import a CSV
One name per line is the usual paste. A single line of commas also splits. Once the box has newlines, a name like "Ben, the younger" stays one slice. That matters for a roster that already uses commas in the name itself. I got that wrong in the first draft and a test caught it, which is the only reason I trust it now.
A CSV uses the first column and skips a header if that cell says name or option. Quoted commas survive, so "Doe, Jane" is one person. I wrote it that way because a teacher's export is rarely a clean list of first names. House, grade and email can ride in the later columns. The wheel never reads them.
Two hundred names is the cap. A longer paste is cut so the canvas stays readable and the tab does not freeze. Shuffle reorders what is already there. Remove winner drops the name that just came up, so the next spin cannot pick them again. Copy winner puts that name on the clipboard, nothing else. You need two names to spin. One name is not a pick, it is a statement.
How the pointer picks a slice
The pointer sits at twelve o'clock. Slices are numbered clockwise from there. The winner is chosen first, with rejection-sampled bytes from the browser's own generator, the same method the password generator uses. A naive remainder on a random byte leans toward the front of the list. This one does not. The wheel then turns several full times and stops in the middle of that slice, so a boundary pixel cannot flip the name.
That order matters. The animation is decoration around a pick that already happened. If you asked the OS to reduce motion, the wheel still lands on the same index. It just skips the long turn. The result is not whichever frame happened to be on screen when you clicked.
Default dinner options are already in the box so you can spin before you paste anything.
What this page will not do
It will not sync a roster to another phone. It will not remember twenty named wheels in the cloud. It will not play a video so you can spin again. The current list lives in this browser. If you need the same names on a second machine, paste them again. That is faster than creating an account you will use twice a year.
It will not take a thousand-row yearbook and pretend the labels are still readable. Two hundred is a hard cut, printed on the page, because a silent truncate is how you lose the back half of a class and never notice. The leftover names never reach the wheel.
I wrote up why the other wheels want an account on the blog. Nearby: the password generator, merge PDF, and the contrast checker. Same habit. Do the useful bit in the tab.
Common questions
Do the names leave this tab?
The names stay in this tab. The spin, the shuffle and the CSV read all run in JavaScript here. After the page has loaded you can unplug the cable and still pick a winner. Softery.io does load Mixpanel and Google Analytics on every page, including this one. Those calls never get the names. They get a count, and a size bucket for a paste or a file. That is the honest version of the privacy claim.
Why is there a 200 name cap?
A canvas with a few dozen slices still turns. A canvas with a yearbook in it does not. Two hundred names is the point where the labels stay readable and the tab stays usable. A longer paste is cut at that number. The leftover names never reach the wheel.
Can I save a wheel without an account?
There is no account on this page, so there is no saved-wheel limit behind a login. The current list stays in this browser, in localStorage, until you clear the site data or paste a new one. It does not sync to another device. If you need the same roster tomorrow on this machine, refresh. It will still be here.
Do you show ads between spins?
No. Spin, read the winner, remove them, spin again. Nothing sits between those clicks. The page is free because the spin itself costs nothing to run.