Spin Wheel Picker — An Online Wheel Decider with Real Weights
Spin Wheel Picker turns a list into a wheel that really spins: every option owns a sector, its weight sets how wide that sector is, and whichever sector the pointer stops on is the result. It suits annual-party draws, classroom roll calls and team grouping, and it also suits small decisions nobody wants to make, like what to have for lunch. Before the spin starts, the page picks the winner with the browser cryptographic random source and then works backwards to the angle the wheel has to stop at, so when the animation ends the pointer and the answer in the dialog always agree instead of the result being invented afterwards. Options can be pasted in bulk, imported from a txt or csv file and de-duplicated automatically; each one takes its own weight, color, emoji or image. Several pools are stored separately, every win is kept with a timestamp and the tool counts how often each option has come up. The panel shows the real odds of every sector before you spin, and afterwards you can copy the result, export it as a table or throw the wheel full screen onto a projector. All of it runs in your browser, the list is never uploaded, and it works on phones and tablets with no sign-up and nothing to install.
Add at least two options and the wheel will spin.
Space to spin · Esc to close the result
One option per line. Commas, ideographic commas and semicolons split a line into several options. A trailing number sets the weight, for example "First prize,3". Duplicates are skipped.
No options yet — add one to get started.
How to use
- Paste your options into the bulk import box, or click "Import txt / csv". One option per line; commas and ideographic commas split a line into several, and a trailing number sets the weight.
- In the option list, adjust the weight, click the swatch to change the color, add an emoji or a sector image — the percentage on the right updates as you type.
- Open Settings to set the duration, the number of turns, the pointer position and the direction. If nobody should win twice, turn on "Remove after a win".
- Press the button in the middle or hit Space. The result pops up and is written to the history, where you can copy it, export a CSV, or go full screen for a projector.
Frequently asked questions
Is the result really random, or will it keep picking the same few options?
The draw uses the browser cryptographic source, crypto.getRandomValues. A 32-bit unsigned integer is divided by 4294967296 to give a float uniformly distributed between zero and one, with no modulo bias and no dependence on the clock. Weighted picks use the alias method, so the probability of each option is exactly its share of the total weight. A reproducible sequence only appears if you type a seed into the settings — that mode exists for demos and audits, not as the default.
If I turn off "Size sectors by weight", are the odds still weighted?
Yes. That switch only changes how the wheel is drawn, not how the winner is chosen. With it on, sector angles are proportional to the weights and the pointer simply stops where it stops. With it off, every sector is the same size but the page still draws the winner by weight and then aims the pointer at a random point inside that sector. Equal sectors look much better when the weights are very uneven — when one option holds ninety percent, a proportional sector becomes a sliver you cannot read.
Can the pointer and the result in the dialog disagree?
Under normal conditions they cannot, and the check is real. The winner is fixed by the random draw first and the target angle is solved backwards from it. The moment the animation ends, the page reads which sector the pointer is actually over and compares that with the drawn winner; if a floating-point error pushed it into the neighbor, a very small correction is applied and the check runs again. If something truly goes wrong the page tells you, instead of quietly swapping the answer.
Are my options and history uploaded? Will they still be there on another computer?
Nothing is uploaded. Everything lives in your own browser IndexedDB with a localStorage mirror, so a refresh, a closed tab or a browser restart keeps it. Another device, or clearing site data, will lose it — use "Export backup JSON" and "Import backup" to move it, or export the options as CSV if you only need the list.
What happens when there are too many options and the sectors get too narrow?
There is no hard limit, but past sixty options every sector becomes thin. Try turning off "Show odds on the wheel" to give the text more room, giving key options an emoji or an image instead of a long name, switching off "Size sectors by weight" so every sector is equally wide, or splitting the draw into several pools of a dozen options each and moving to the next pool when one runs out.
What is it
A wheel looks like it is spinning, but underneath it is an angle problem. The full 360 degrees are cut up by weight: the heavier an option, the wider its sector and the better its chance of catching the pointer. When you spin, the page decides the winner first, then works out how many degrees the wheel must travel for the pointer to land on that sector, and finally lets the animation decelerate along that path, so the result is never rewritten after the wheel stops. The random numbers come from the browser cryptographic source: a 32-bit integer scaled into a float between zero and one, uniform and free of modulo bias. With many options the draw uses the alias method, so each pick costs constant time instead of walking the whole weight list. Angles, weights and pointer position can all be checked against each other: subtract the final rotation from the pointer direction, take the remainder modulo 360, and the sector you land in must be the sector that was drawn. That is why the odds can be printed on the wheel itself — the number on screen and the thing that actually happens are the same thing.
Origin & history
The wheel was not invented for prize draws. The Romans pictured fortune as a wheel — the Rota Fortunae — where people rose and fell as it turned, and medieval manuscripts are full of its illustrations. By the eighteenth century European lotteries and fairs were using real spinning wheels: a wooden frame ringed with slots, a pointer flicking past the pegs until it stopped, and more onlookers than ticket buyers. Nineteenth-century American fairs turned it into a business, with candy and watches beside the wheel, a coin for a spin and the prize handed over on the spot while the operator called the numbers louder than the accordion. In 1975 the American game show Wheel of Fortune put the device on television; the white and blue board and the clicking pointer became a shared memory for several generations and welded the word wheel to the idea of luck. In the Chinese-speaking world the familiar forms are drawing lots and rolling dice, both built on the same principle of opening the envelope in front of everyone. Electronic wheels replaced the pointer with an angle and the draw with a pseudo-random number, and fairness moved from "everyone is watching" to "the code can be inspected". Inspection has its own troubles: plenty of early web wheels seeded a pseudo-random generator with the clock, so anyone who knew the draw time could compute the result, and some simply played the animation and then picked a name at random afterwards — the picture and the result were two different things. Building a wheel today is no longer about drawing a circle. It is about making the way the result appears survive a question: who was chosen first, how the angle was derived, how the landing was verified. Get those three right and the wheel deserves the word fair.
Related keywords
Feedback
Found a problem with a tool or have a suggestion? Email us — we read every message.
