SpinIt

Fairness and randomness

How SpinIt keeps every spin fair

Every wheel has a probability configuration based on its entries and optional weights. Explore how selection works, then test your own wheel in the Randomness Lab below.

Test Your Current Wheel

Loading your current wheel…

How SpinIt selects a result

The winner is chosen before the wheel starts moving. Standard wheels select it in your browser. Verified Draw selects and commits it on SpinIt's server before the browser receives it. The wheel then calculates a rotation that lands that slice under the pointer.

The animation is purely visual. Frame drops, device speed, spin duration or how hard you flick the wheel cannot change which entry was already selected.

Equal probabilities

When every active entry has the same weight, each entry has an identical chance of being selected: 1 divided by the number of entries. Five entries means 20% each.

Every selection is independent. A result that has just come up is no less likely to come up again on the next spin.

Weighted entries

In advanced mode you can give entries different weights. An entry's chance is its weight divided by the total weight of all entries.

With weights of 1, 2 and 2 the total is 5, so the chances are 20%, 40% and 40%. A heavier entry also takes a proportionally larger slice on the wheel.

Duplicate entries

Duplicate names are kept as separate entries on purpose. Each row is its own slice with its own chance of being selected.

If a name appears twice on a four-entry wheel, each row still has a 25% chance, so that name is selected 50% of the time overall.

Randomness technology

Standard wheels use your browser's cryptographic random number generator through the Web Crypto API. Verified Draw uses cryptographically secure randomness generated on SpinIt's server.

Random values are drawn with rejection sampling, which removes the rounding and modulo bias that can otherwise creep in with large entry counts or large weight totals.

Standard results remain local browser selections. A Verified Draw is instead performed against an immutable snapshot of a cloud-saved wheel and committed on the server before its result is displayed.

What Verified Draw verifies

A SpinIt Verified Draw is a server-authoritative draw performed against an immutable snapshot of a cloud-saved wheel. SpinIt selects and commits each winner on the server using the recorded algorithm before the browser receives or displays the result.

It records the frozen candidate list, rules, source revision, algorithm version, snapshot digest and complete committed draw sequence. Committed results are final and cannot be edited, replaced or voided by the organiser.

It does not verify participant identity or eligibility, prize availability, whether every session was disclosed, or whether an organiser abandoned an unused session. It is not independent third-party verification of SpinIt itself.

Limitations and suitable uses

SpinIt is built for classroom picks, raffles, giveaways, team rotations, standups and everyday decisions.

It is not an independently audited or certified randomness service, and it is not intended for gambling, lotteries or any use where a regulator requires certified randomness.

Standard results depend on the browser environment. If its cryptographic generator is unavailable, Standard mode falls back to a standard random source. Verified Draw does not use that fallback because production randomness is generated on the server.