Dice Roller · observed 2026-08-17
Read a dice roll, then compare the face counts
Check the faces and modifier behind a roll’s total, then read the historical face counts. A face’s deviation measures distance from an even split—not the distance between the most and least frequent faces.
Read the faces before the total
2d6+3 asks for two six-sided dice, then adds three once to their sum. Inside the brackets are the faces; outside is the modifier. The total alone cannot identify the faces.
The historical observation from contains two receipts: [2 + 4] + 3 = 9 and [5 + 4] + 3 = 12.
Two new production-interface rolls on returned the breakdowns shown alongside. Add the faces and modifier to check each displayed total.
2026-09-13 · 2d6+3
First breakdown: [ 1 + 1 ] + 3
Total: 5
Second breakdown: [ 3 + 5 ] + 3
Total: 11
Both rolls reached the completed result state. Reduced motion was active in Chromium 148.0.7778.96.
“Ready” is not a new roll
Two more inputs produced no new roll. Applying 0d6 with Use changed the notation to 1d6: the interface substituted one die rather than rejecting zero dice.
The old total 11 remained visible beside Ready: 1d6. It still belonged to the preceding 2d6+3 roll. Before reading a result, check whether the interface is ready to roll or has actually completed one.
2dfoo → ?!
Invalid syntax, 2026-09-13
The notation help read: “Use notation like d20, 2d6, 5d6+2, 1d100, or 1d100-percentile.”
Unlike 0d6, this input produced an error indicator, not an adjusted ready notation.
Two different ways to describe the spread
The historical sample recorded 6,000 one-d6 calls on . The counts sum to 6,000; divide by six for a uniform reference of 1,000 per face, not a requirement that every batch split evenly.
Subtract 1,000 from each count and discard the sign: 43, 58, 26, 14, 42, 67. The largest is the maximum absolute deviation: face 6 is 67 below the reference. Range uses the original counts instead: largest minus smallest, 1043 - 933 = 110.
| Face | Count | Distance from 1,000 |
|---|---|---|
| 1 | 1,043 | 43 |
| 2 | 942 | 58 |
| 3 | 1,026 | 26 |
| 4 | 1,014 | 14 |
| 5 | 1,042 | 42 |
| 6 | 933 | 67 |
The sample stops at the logical generator
The August run called DICE_CORE.generateLogicalResult in the production page’s loaded core module—not 6,000 clicks through the animation. Its counts describe that logical-generator run, not the physical/WebGL or other fallback paths.
September’s two completed UI rolls and two input checks used reduced motion. The five loaded scripts matched the recorded source hashes and were unchanged before and after. This was a stable-version interface check, not a new distribution sample or verification of physical rendering.
Description, not certification
LIMIT No significance threshold or randomness audit was applied to the historical counts. They neither certify fairness nor rule out bias, and they do not predict another run.
Keep this utility to tabletop and casual use, not gambling or certified draws.
For your next tabletop roll, copy 2d6+3, apply it and check the ready notation. Roll, wait for completion, then keep the faces, modifier and total together.