Randomness Audit

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!

Check Your Wheel's Randomness

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.


How the Audit Works

Audit controls

Choose how many independent tests to run. Each test uses 10,000 simulated spins to keep the page responsive while producing a useful sample.

Weighted results

The expected share for an entry is calculated from its weight divided by the total weight, then compared with its observed share.

Random source

Every simulated choice uses the browser Web Crypto API through the same secure random helper used by the wheel.

Understanding the Results

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.

Expected variation

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.

Use warnings carefully

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.


Methodology and Limitations

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.

What the test can show

Whether a sampled set of results is reasonably close to the expected weighted distribution and whether the browser exposes its secure random interface.

What it cannot show

No finite sample can guarantee every future result or prove that a browser and device are secure in every respect.

Learn More About Browser Randomness

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.


Randomness Audit FAQ

Does a passing result prove every future spin is fair?

No. It indicates that this sample matches the configured distribution closely enough for the statistical check. It cannot certify every later outcome.

Why use browser cryptographic randomness?

The Web Crypto API is designed to provide stronger random values than Math.random, making it a better fit for selections where fairness matters.

How do entry weights change the audit?

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.

Why might a fair sample still receive a warning?

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.