About SpinForFree
SpinForFree is a free tool for running a random draw in public. There are two halves to it: a wheel on the home page that needs no account and runs entirely in your browser, and an account-backed version where you build a wheel, share one link, and everyone watches the same spin land on the same name at the same moment.
Who built it
I’m Janrey Cablinda. I designed and built SpinForFree myself. There is no company or team behind it, just one developer who wanted this to exist.
Why I built it
I wanted a random picker people could actually trust, and that stayed free. Not a novelty spinner you quietly reload until it lands on the name you wanted, but something where the draw genuinely happens outside anyone’s control and leaves a record afterwards, whether that is a classroom, a small team, a livestream giveaway, or a raffle with a real prize on the line.
The thing that bothered me about existing tools was not that they were dishonest. It was that an honest organiser using one had no way to prove it. If the draw happens in a browser and vanishes, then the person telling the truth and the person who reloaded eleven times have exactly the same evidence available to them: none. Suspicion becomes free to hold and impossible to answer.
How the draw works
When someone presses Spin, the winner is chosen on the server before the result reaches any browser. The draw is a weighted ticket selection: every active participant’s weight is summed, a random integer is drawn in that range, and the list is walked subtracting weights until it goes negative. A name with a weight of 3 in a pool totalling 10 holds three of the ten tickets and wins exactly 30% of the time.
The random integer comes from the Web Crypto API, meaning crypto.getRandomValues rather than Math.random, and it is drawn with rejection sampling: values falling in the ragged tail of the 32-bit range are discarded and redrawn instead of being folded in with a remainder. Without that step the participants at the top of the list would be very slightly more likely to win. The bias would be far too small to ever observe; it is corrected because there is no reason not to.
The result, the win counter and elimination are all written in a single database transaction, and all of it completes before anything is sent to a screen. That ordering is the whole fairness claim: by the time any browser could interfere, the outcome is already recorded. Nothing about it is decided client-side, so reloading cannot nudge it, not for a visitor, and not for the person running the draw either.
Because slice sizes are drawn in proportion to weight, the picture on screen always matches the real odds instead of merely looking equal. There is a fuller walkthrough in how the live spin actually works.
What gets kept
Every draw is timestamped and added to a history rather than flashed on screen and forgotten, and spinning again does not overwrite the previous result. Winners can be published, and organisers can attach proof that a prize was actually paid out.
Worth being precise about what that does. It does not stop an organiser spinning five times and announcing their favourite, because no software can. What it does is make the five spins visible, which turns an unanswerable suspicion into a checkable question. For draws where even that is not enough, a scheduled spin fires at a published time with nobody at the keyboard. The reasoning is in why every draw gets logged.
The free wheel keeps nothing
The wheel on the home page is deliberately the opposite. It draws in your own browser, keeps your list in local storage so it is there when you come back, and sends nothing to a server. No account, no record, nothing transmitted.
That is the right design for the majority of uses: a class roster, a stand-up order, deciding where to eat. It uses the same cryptographic source and the same bias correction; what it does not have is a shared link, a server-side draw or a history. Use it unless somebody needs to witness or verify the result.
What it costs
Nothing. The free wheel needs no account, and creating an account for shared wheels and live spins is also free. The site carries advertising to cover hosting.
Get in touch
Questions, bug reports or takedown requests: see the contact page. For how to actually use it, start with the how-to guide or the guides index.