Test the fairness of your wheel by simulating thousands of spins. Select how many tests to run and visualize the results instantly!
Select the number of tests and click Run Tests to see your wheel's fairness results!
The Randomness Audit helps you examine how your wheel behaves over a large sample of spins. It compares observed results with the probabilities implied by your entries and weights, checks the browser's secure random source, and presents the findings in an easy-to-read chart.
Configure your list on our custom random picker wheel to run giveaways, classroom selections, team drawings, and other decisions where a visible process matters.
Choose how many independent tests to run. Each test uses 10,000 simulated spins to keep the page responsive while producing a useful sample.
The expected share for an entry is calculated from its weight divided by the total weight, then compared with its observed share.
Every simulated choice uses the browser Web Crypto API through the same secure random helper used by the wheel.
The chart shows how often each enabled entry was selected alongside its expected frequency. Small differences are normal because random samples naturally fluctuate. The chi-square value provides a statistical comparison between the measured distribution and the distribution predicted by the current weights.
A fair run will rarely produce exactly the expected count for every entry. More spins usually make the observed percentages settle closer to their targets.
An unusual sample is a reason to investigate or repeat the test, not automatic proof that every spin is unfair. Statistical checks cannot certify all future outcomes.
The audit repeats simulated selections with the same weighted selection model used by the wheel. For each enabled entry, it derives the target probability from the current weight and compares that target with the frequency measured during the sample. Disabled entries are excluded from the simulation.
Browser checks look for the Web Crypto API and whether crypto.getRandomValues appears to be a native function. This is a practical signal about the current browser environment, not a complete security inspection of the device.
This is a transparent, client-side statistical check. It is not legal certification, gambling compliance, or a replacement for an independent cryptographic assessment.
Whether a sampled set of results is reasonably close to the expected weighted distribution and whether the browser exposes its secure random interface.
No finite sample can guarantee every future result or prove that a browser and device are secure in every respect.
The audit is informed by public documentation about the Web Crypto API and statistical random-number testing. These resources provide useful technical context for understanding the checks shown on this page.
No. It indicates that this sample matches the configured distribution closely enough for the statistical check. It cannot certify every later outcome.
The Web Crypto API is designed to provide stronger random values than Math.random, making it a better fit for selections where fairness matters.
An entry's chance is proportional to its weight. For example, weight 3 should occur about three times as often as weight 1 across a sufficiently large sample.
Random samples vary naturally. A warning means the measured distribution fell outside the chosen statistical range, so repeating the test with a larger sample may help.