How it works
Four steps, and one of them is optional.
Add the names. Spin the wheel. Get the winner. Record proof if you need it.
1. Add the names
Type them one per line, paste a column out of Google Sheets, Excel or Numbers, or upload a .csv, .xlsx or .txt file. Up to 10,000 entries per wheel.
Spreadsheet imports do not assume anything. You are shown the worksheets, the detected columns with sample values, the row count, how many rows were blank, and how many duplicates there are — then you choose the name column and, if you want, a weight column. The preview updates as you change your mind.
The file is parsed in your browser. It is not uploaded, and formulas are never evaluated: Spinnza reads the value the spreadsheet already saved. Macros and embedded objects are never opened.
2. Spin the wheel
The winner is chosen first, from the complete list, using crypto.getRandomValues — your browser’s cryptographic random number generator. Math.random() is not used to pick a winner. The range is reduced by rejection sampling rather than a modulo, so no position in the list is even slightly favoured.
Weights are applied before the draw. An entry with three chances occupies three of the total, and duplicate rows each count separately.
Only then does the wheel move. The animation is told where to stop; it never decides anything. On a very long list the wheel shows a sample of entries rather than ten thousand hairline slices — and the winner is placed into that sample before the spin, so the pointer always lands on a real name.
3. Get the winner
The exact entry is shown in full underneath the wheel, however long it is and whatever characters it contains, and announced to screen readers. From there you can spin again, remove the winner, copy a clean result for a post, or download a free winner card image.
4. Record proof, if you need it
Everything above is free and always will be. The one paid feature is a recorded proof spin: a downloadable video of the draw itself, for $1.99, once.
The recording is a purpose-built composition, not a screen capture. It contains:
- an opening frame with the draw title, entrant count, Entry List ID, date and time
- the full spin at the speed you chose
- the winner screen, held long enough to read
- every spin and a final summary, for multi-winner and draft-order draws
No browser chrome, no buttons, no advertising. It exports at 1080 × 1920, 1080 × 1080 or 1920 × 1080, as MP4 where your browser can encode it and WebM otherwise.
The Entry List ID
Every list gets a SHA-256 fingerprint of its exact entries and weights, shown as eight characters like 7F2A91C8. Post it when you announce the draw and anyone holding the same list can regenerate it and check it matches. It changes if the list changes — an added name, a removed one, a different order, a changed weight.
That is all it is. It shows the list in the video matches the list in your hand. It is not legal certification, notarization or an independent audit, and the timestamp is your device’s clock rather than a trusted timestamping service.
Buying and using a proof spin
- One-time payment through Stripe Checkout. No subscription and no account.
- Your browser is checked for recording support before you can pay. If it cannot record, it cannot be sold a recording.
- The list is frozen while the proof panel is open, so the Entry List ID cannot change mid-draw.
- Unused proof sessions last 7 days from purchase.
- If a recording fails, you can retry without paying again.
See one
More detail in the FAQ, or start on the wheel spinner.