Roll any dice combination with standard notation and see the distribution.
Standard dice notation describes a roll as NdS+M: N dice each with S sides, plus a flat modifier M. The notation is universal in tabletop RPGs (D&D, Pathfinder, Call of Cthulhu) and many board games. This calculator uses the Web Cryptography API (crypto.getRandomValues) to produce cryptographically random results — meaning each outcome is as unpredictable as the hardware allows, with none of the subtle biases that affect pseudorandom generators like Math.random(). The expected value of a single dS roll is (S+1)/2, so the expected value of NdS is N×(S+1)/2, plus any modifier.
Expected value for NdS±M
Expected value = N × (S+1)/2 + M
Math.random() is a pseudorandom number generator seeded at startup. Its sequence is deterministic given the same seed, and in some environments it can be predicted or replicated. crypto.getRandomValues() uses hardware entropy (interrupt timing, CPU noise) and is specified to be cryptographically secure and unpredictable. For dice rolls where fairness matters, it's the right choice.
Advantage means you roll 2d20 and take the higher result. Disadvantage means you take the lower. To simulate this, roll two d20s (set notation to '1d20' and Number of Rolls to 2), then take the higher or lower result manually. A future version of this calculator may add drop-lowest / keep-highest notation.
d4 (tetrahedron), d6 (cube), d8 (octahedron), d10 (pentagonal trapezohedron), d12 (dodecahedron), d20 (icosahedron), d100 (percentile, 2d10 or a 100-sided die). The 'd' stands for 'die' or 'dice'.
Yes — use the 'Number of Rolls' field. This is useful for rolling damage for multiple enemies at once, or generating ability scores (4d6, drop lowest — rolled 6 times for D&D character creation). The result shows all totals in the 'All Rolls' field.