How to use it
- Tap a quick button (d4 through d100, 2d6, 3d6, 4d6kh3, advantage and disadvantage) or type any dice expression and press Roll or Enter.
- The total appears with every die shown; dice that were dropped by a keep or drop rule are struck through.
- Below, the odds panel shows the range, average, standard deviation and a chart of every possible total; enter a target to see the chance of rolling at least that much.
How it works
Each die draws a 32-bit value from crypto.getRandomValues and keeps it only if it falls below the largest multiple of the number of sides, then takes the remainder; values above that line are discarded and redrawn, which removes the small bias a plain remainder would have. The exact odds are calculated separately: plain dice by convolution, keep and drop terms by going through every possible outcome, and subtraction by reversing a term’s distribution.
What we tested
On October 14, 2026 we compared the calculator’s odds for 14 expressions (including 4d6kh3, 4d6dl1, advantage, disadvantage, 5d4kl2, d20−d6 and 2d10dh1) with an independent Python enumeration in exact fractions: every probability matched to within 2.8e-17. We rolled d2, d6, d7, d20 and d100 600,000 times each through the page’s own function (chi-square 2: 0.65, 6: 3.21, 7: 0.5, 20: 8.87, 100: 112.95, all far below the 0.1% critical values), and 200,000 rolls each of 3d6, 4d6kh3 and 2d20kh1 matched their exact odds (chi-square 15.38, 12.38 and 11.14). A deliberately broken “drop lowest” rule failed the test. In Chromium: a d20 button rolled a number from 1 to 20; typing 4d6kh3 and Enter rolled four dice with one struck through and showed an average of 12.2446; 2d6+3 showed range 5 to 15, average 10 and a 58.33% chance of at least 10; advantage (2d20kh1) showed 51.00% for 15 or more with a 20-bar chart; an unfinished expression showed a message; recent rolls were listed; 3d6 rolled on a 390 px phone with no errors.
| Roll | Fact from the exact odds |
|---|---|
| 3d6 | A total of 10 has probability 1/8 |
| 4d6kh3 (stats) | Average 12.2446 |
| 2d20kh1 (advantage) | 15 or more: 51% (a single d20: 30%) |
Frequently Asked Questions
Built by Derek Giordano · Part of Ultimate Design Tools