Audit tool
Randomness Check
Every other tool here claims to be genuinely random. This is how you check that claim yourself, rather than taking it on trust.
Verdict
Run a test
This session's tests
What this actually tests
It draws tens of thousands of numbers from this browser's generator — the same crypto.getRandomValues() that the coin, dice, wheel and card tools use — and counts how often each outcome comes up. Then it runs a chi-square goodness-of-fit test on those counts.
The question being asked is simple: are the results spread out the way a fair generator would spread them, or are some outcomes appearing more often than they should? A generator that is subtly broken, seeded badly, or quietly modified tends to show up here as one outcome being over-represented.
Everything runs locally. The numbers never leave your browser, which is the only way a test like this can mean anything — a server-side test would be checking the server's generator, not yours.
Reading the result
The output gives a χ² statistic and a p-value. The p-value is the interesting one: it is the probability of seeing a deviation at least this large if the generator were perfectly fair.
- p above 0.05 — normal. The spread is what a fair generator produces.
- p below 0.05 — unusual. This happens by chance in about 1 run in 20 even with a good generator, so re-run it before concluding anything.
- p extremely low — worth investigating. Real bias shows up as a p-value near zero, repeatedly.
A single pass is weak evidence either way. That is why Run it 10 times exists: if the generator is sound, roughly 19 out of 20 individual runs should pass, so a batch of ten should show at most one failure. Several failures in a row would be the interesting result.
Running it on other websites
You can use this page as a benchmark for any random tool on the web. Open the other site in a tab, run this test a few times, and compare: a well-built tool will look exactly like this one, because most are using the same browser generator and there is not much room to be clever.
Where sites differ is not usually the generator but what they do with it. Reducing a 32-bit draw with a plain modulo instead of rejection sampling makes some outcomes slightly more likely — too small a difference for a casual test to catch, which is exactly why it goes unnoticed.
What this cannot tell you
A passing test does not prove a generator is unbiased; it shows no bias large enough to detect at this sample size. With 60,000 draws, a subtle skew affecting one outcome by a fraction of a percent is simply below the noise floor. Passing means "nothing suspicious found", not "proven fair".
It also cannot tell you anything about predictability. Testing that properly requires observing outputs and trying to predict the next one, which is a different kind of analysis — and the reason this site prefers a generator documented for cryptographic use rather than a faster one that is merely adequate for games.
One concrete limitation: this test counts outcomes and ignores the order they arrived in. A generator stuck in a short repeating cycle would produce perfectly even counts and pass this test while being entirely predictable. Catching that would need serial-correlation analysis instead, which this page does not perform.
Related
- Coin Flip — with its own two-sided fairness test
- Dice Roller — distribution check for any die
- Wheel of Fortune — weighted choice from your own list
- About — why this site made the claim in the first place
Privacy and terms
This test runs entirely in your browser; no results are recorded or transmitted. See the privacy policy, or write to contact@grunners.vip.