Roll any dice expression -- 2d6+3, 4d6kh3, 1d20+5, advantage -- and see every die, including the ones that were dropped.
Dice notation is the shorthand every tabletop rulebook is written in: a number of dice, the letter d, and how many sides each die has. "2d6" means roll two six-sided dice and add them; "1d20+5" adds a flat five to a twenty-sided roll. Suffixes handle the common special cases -- "4d6kh3" keeps the highest three of four dice, which is how a D&D ability score is rolled, and "2d20kh1" is rolling with advantage. "d%" is the traditional way to write a percentile (d100) roll.
Type any dice expression and roll it: 2d6+3, 4d6kh3, 1d20+5, 2d20kh1, 3d8-1, or several groups added together like 1d20+1d4+2. Every individual die is shown, dropped dice included, so you can see exactly how the total was reached instead of taking a number on faith.
Every result here is drawn using crypto.getRandomValues() -- the Web Crypto API's cryptographically secure randomness -- instead of Math.random(), so it's genuinely unpredictable, not just statistically random. Learn more.
Play D&D, Pathfinder, Call of Cthulhu or any other tabletop RPG without hunting for the right die; roll a full set of six ability scores in one press with 4d6kh3 at an amount of 6; settle board-game turns when the dice have gone missing; or check what a damage expression actually averages before you write it into an adventure.
The expression is parsed into its dice groups and flat modifiers, then each die is rolled independently with the site's cryptographically secure randomness -- never a shortcut like one random number scaled to the range, which would give a flat distribution instead of the bell curve real dice produce. Keep and drop modifiers are resolved by position rather than by value, so four identical faces still drop exactly one die.
NdS for any number of dice and sides (up to 100 dice of up to 1000 sides per group), flat + and - modifiers, several groups in one expression, d% for percentile, and the four keep/drop suffixes: kh (keep highest), kl (keep lowest), dh (drop highest) and dl (drop lowest), each with an optional count -- kh3, dl1, or a bare kh meaning one.
Advantage is 2d20kh1 -- roll two twenty-sided dice and keep the higher. Disadvantage is 2d20kl1. Both are on the preset row above the input.
Yes -- put 4d6kh3 in the box and set the amount to 6. You get six independent stat lines, each showing which die was dropped.
No, and that is the point of rolling real dice. Two dice produce a bell curve -- a 7 is six times likelier than a 2 -- while a flat random number from 2 to 12 makes every total equally likely. Each die here is rolled separately, so the distribution matches physical dice.
Every die uses your browser's cryptographically secure random source, the same one the rest of the site uses, with no fixed sequence or bias toward any face.