Dice Roller
Roll 1 to 100 dice at once — standard d4 through d20, or any custom number of sides — with an optional modifier. See every individual die plus the total, and keep a running history of your rolls. Randomness comes from your browser’s cryptographic generator.
Roll history
How dice probability works
Each face of a fair die has an equal chance of landing face-up: 1-in-N for an N-sided die. Rolling multiple dice and summing them changes the shape of the distribution — a single d6 is equally likely to show any number 1–6, but two d6s summed cluster around 7, because there are more ways to make a 7 (six combinations) than a 2 or 12 (one combination each). Real physical dice, especially unusual shapes like d20s, are never perfectly balanced by manufacturing; a well-implemented virtual roller is often closer to true fairness.
How it’s calculated
Each die roll draws from crypto.getRandomValues using rejection sampling (discarding out-of-range values) so every side from 1 to N has an exactly equal chance, then adds 1 to shift the 0-indexed result into the 1–N range dice use. The total is the sum of every individual die plus the modifier. The expected average of a single die is (N+1)÷2, so a d20 averages 10.5 and a d6 averages 3.5 over many rolls.
Results are independent every time — there is no “due for a high roll” effect; each roll has exactly the same odds regardless of recent history.
Worked example
Rolling 2d20 (used for advantage/disadvantage): the average of a single d20 is 10.5, so two independent d20s average 21 combined. If you instead always keep the higher of the two dice (advantage), the long-run average rises to about 13.8; always keeping the lower die (disadvantage) drops the average to about 7.2 — a swing of more than 6 points from the same two dice, just by choosing which one counts.
Common mistakes
- Assuming a sum of multiple dice is uniform — only a single die is; sums cluster toward the middle of their range.
- Forgetting the modifier is added after the dice total, not to each individual die.
- Confusing advantage (keep higher of 2 rolls) with rolling twice and adding both together — they produce very different average outcomes.
- Expecting small sample sizes to look perfectly even; ten d6 rolls can easily show the same number three times just by chance.
Where it is used
- Tabletop role-playing games (D&D, Pathfinder) for attack rolls, damage, and skill checks.
- Board games and party games that need a quick, fair random number.
- Teaching probability and expected value with a hands-on, repeatable example.
- Settling any offline decision that calls for a fair random pick.
Frequently asked questions
Is this dice roller truly random?
It uses your browser’s crypto.getRandomValues, a cryptographically secure random source — a stronger guarantee of fairness than most physical dice actually have, since mass-produced dice (especially d20s) are rarely perfectly balanced. Each face of a virtual die has an equal 1-in-N chance every roll.
What does 'advantage' mean for 2d20?
In games like D&D 5th edition, rolling with advantage means rolling two d20s and keeping the higher result, which raises your average outcome from 10.5 (one die) to about 13.8. Disadvantage keeps the lower of the two instead, dropping the average to about 7.2. This roller shows both individual dice so you can apply either rule yourself.
How many dice can I roll at once?
Up to 100 dice in a single roll, any of the standard polyhedral sizes (d4, d6, d8, d10, d12, d20) or a custom number of sides from 2 to 1,000. Each die’s individual result is listed alongside the total.
What's the modifier for?
The modifier is a flat number added to or subtracted from the total after all dice are summed — the standard way tabletop games apply a character’s skill bonus or penalty to a roll, like 1d20 + 5 for an attack roll with a +5 bonus.
Does the roll history save if I close the page?
No — the history list only exists in your browser’s memory for the current page session. Refreshing or closing the tab clears it, and nothing is ever sent to or stored on a server; use the Clear button to reset it manually at any time.