It rolls dice written in the notation used by board games and tabletop role-playing games, flips any number of coins, and picks one or more options from a list. Next to every dice expression it shows the exact probability of each possible total, counted rather than simulated: the lowest and highest total, the average, the most likely result, and the chance of rolling at least, exactly or at most a target you type.
Each face comes from your browser's cryptographic random generator (crypto.getRandomValues). A 32-bit random number is turned into a face with rejection sampling: for a die with n faces, values at or above the largest multiple of n below 2³² are thrown away and a new one is drawn, so every face has a chance of exactly 1 in n. Taking the remainder without that step would favour low faces very slightly. Nothing is sent anywhere, and the history disappears when you close the page.
Dice notation it understands
- NdS: N dice with S sides.
2d6, 3d8, d20 (one die), d% (the same as d100). - Plus and minus: mix dice and whole numbers,
2d6+1d4+3 or d20-1. - Keep and drop:
4d6kh3 keeps the three highest of four dice (the classic way to roll an ability score), 2d20kl1 keeps the lowest, 4d6dl1 drops the lowest (same as kh3) and dh drops the highest. - Advantage and disadvantage:
d20 adv rolls two d20 and keeps the higher, d20 dis keeps the lower. - Exploding dice:
3d6! rolls a die again whenever it shows its top face and adds the new roll to that die (compounding), up to 50 extra rolls. Exploding dice have no maximum, so no odds table is shown for them.
The result shows every die; a die that was dropped is struck through and labelled "dropped" for screen readers.
Reading the odds table
The table lists every total with the number of ways to make it and its chance. For 2d6 there are 36 equally likely outcomes. Only one makes 2 (1+1) but six make 7 (1+6, 2+5, 3+4, 4+3, 5+2, 6+1), so 7 comes up 16.67% of the time and 2 or 12 only 2.78%. With 3d6 the 216 outcomes peak at 10 and 11, each 27/216 = 12.5%. The more dice you add, the more the totals bunch around the middle: that is why 3d6 feels steadier than a d20, even though both average 10.5.
Advantage is where intuition fails most. A plain d20 gives 11 or more half the time. With advantage you fail only if both dice are 10 or less, (10/20)² = 1/4, so the chance becomes 75%; the average rises from 10.5 to 13.825. With disadvantage it falls to 25%, average 7.175. For four six-sided dice keeping the highest three, the average is exactly 15869/1296, about 12.24, and an 18 needs three or four sixes: 21 chances in 1296, about 1.6%. The full working is in dice probability: why 2d6 peaks at 7.
Coins, percentile dice and lists
The Coins tab flips up to 10,000 fair coins at once and counts heads and tails, listing the first 200 in order. Use it to show a class that 10 flips often give 7 and 3, while 10,000 flips land close to half and half.
For d100, the tool also shows the result the way two ten-sided dice read it: a tens die marked 00 to 90 and a units die 0 to 9. 40 and 5 is 45, 00 and 7 is 7, and 00 with 0 is 100, not zero, so the range is 1 to 100.
The Pick from a list tab draws one or several different options from lines you type, each draw equally likely and no option twice, for choosing groups, questions or presentation order. For a spinning wheel on a projector, use the random name picker.