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.

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

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.