Dice Roller · observed 2026-08-17

6,000 rolls, six faces, one 67-count gap

If a six-sided die is rolled six thousand times by a browser tool, how far should the six face counts drift from a perfectly even split before that drift means anything at all?

Verbatim Dice Roller face-count bars from 6,000 one-d6 calls against a 1,000-per-face reference, recorded 2026-08-17
Observed on the production Dice Roller, 2026-08-17. One runtime sample, not a fairness certification.

Pass 1

The headline gap

Before looking at any individual face, it helps to know the single number that summarises how far the whole sample drifted from an even split. Against a simple reference of one thousand rolls per face across the six-thousand-roll sample, the largest gap on any one face was sixty-seven rolls. That is the number this notebook leads with, because every other figure below either builds toward it or explains what it does and does not mean.

max absolute deviation 67

6,000-call sample vs. 1,000-per-face reference

Method: computed from a production browser 6,000×1d6 sample, observed 2026-08-17.

LIMIT A descriptive comparison, not a significance test.

Pass 2

Two receipts, read from the notation field

Before the large sample, this pass checks the small, everyday case a tabletop player actually types: the notation 2d6+3, two six-sided dice plus a flat modifier. The production interface was asked for it twice in the same session, and each receipt is reproduced below exactly as the tool displayed it, face values and total included, with nothing recomputed after the fact.

Roll 1 · 2d6+3
[2 + 4] + 3 = 9
Roll 2 · 2d6+3
[5 + 4] + 3 = 12

Pass 3

All six faces, side by side

The headline stamp above only names the worst-case gap; the full ledger below shows every face, its observed count across the six-thousand-roll sample, and how far each one sits from the same one-thousand-per-face reference. Reading all six rows together is the honest way to judge the shape of the drift — a single number can hide whether the spread is broad and shallow or narrow and sharp, and the table settles that question at a glance.

Scroll →
6,000 one-d6 calls, observed 2026-08-17. Maximum absolute deviation from a 1,000-per-face reference: 67.
FaceObserved countAbsolute deviation from 1,000
11,04343
294258
31,02626
41,01414
51,04242
693367

Pass 4

Which execution path this sample actually exercised

The six-thousand-call sample did not click through the visible dice animation six thousand times; it called DICE_CORE.generateLogicalResult, the specific logical-result function the production page's loaded core module exposes for one-d6 rolls, in a tight loop, and recorded the return values. That is the one execution path this sample tested. The public tool also ships physical/WebGL and other fallback paths that this sample did not call, and this notebook makes no claim about how those other paths behave.

Logical generator only

Execution path sampled: DICE_CORE.generateLogicalResult

Method: 6,000 calls to the production page's loaded DICE_CORE.generateLogicalResult for one d6, observed 2026-08-17.

LIMIT The public tool also has physical/WebGL and other fallback paths not exercised by this sample; this notebook does not describe their behavior.

Pass 5

What this ledger is for

Everything above describes a tabletop utility being read honestly, not a fairness audit. The ledger is useful for satisfying curiosity about how a browser die behaves over thousands of calls, and for tabletop and other casual uses where a rough sense of balance is enough. It was never intended, and this notebook does not treat it, as sufficient evidence for gambling, certified draws or any procedure that requires an audited random source.

Tabletop & casual use

Recommended use boundary

Method: production use-boundary disclosure, observed 2026-08-17.

LIMIT Not for gambling or certified draws.

Across the six-thousand-call sample, the counts ranged from 933 to 1,043 against a 1,000-per-face reference, with a maximum absolute deviation of 67 on face 6. Those are the observed numbers, from one dated 6,000-call run of the tested logical-generator path only. A single sample like this cannot certify fairness, cannot rule out bias and cannot predict how a future batch, another execution path or a longer run would behave; reading the full ledger instead of the headline number is only useful for seeing exactly what happened in this one.

Open Dice Roller →