Reading dice notation
The notation is older than any of the software that uses it and it is compact enough to be worth learning properly. NdM means roll N dice of M sides and add them up: 3d6 is three six-sided dice, total between 3 and 18. A leading number of 1 can be dropped, so d20 and 1d20 are the same. A trailing +K or -K adds a flat number to the total after the dice are summed, so 1d20+5 lands between 6 and 25. Several terms can be combined in one line — 2d8+1d6-1 is valid and is rolled as written.
Two things the notation does not say, and which people frequently assume: it does not indicate a range, and it does not indicate a uniform distribution. 3d6 and "a number from 3 to 18" have the same range and are entirely different draws.
The sum of several dice is not flat
One die is uniform. Each face of a fair d6 comes up one time in six, and a d20 gives every value from 1 to 20 the same one-in-twenty chance. Add two dice together and that stops being true immediately, because there are more ways to make a middle total than an extreme one.
| Total on 2d6 | Ways to make it | Chance |
|---|---|---|
| 2 | 1 | 2.8% |
| 5 | 4 | 11.1% |
| 7 | 6 | 16.7% |
| 9 | 4 | 11.1% |
| 12 | 1 | 2.8% |
Seven is six times as likely as two. Add more dice and the pile grows narrower relative to its range: on 3d6 the middle values 10 and 11 each come up about an eighth of the time while a 3 or an 18 appears once in 216. That is why a game that wants swing uses one big die and a game that wants reliability uses several small ones, and why substituting a single d12 for 2d6 changes the feel of every roll even though both span a similar spread.
Advantage, and what it actually does
Advantage rolls twice and keeps the better result, which sounds like a small nudge and is not. For a single d20, taking the higher of two rolls moves the average from 10.5 to about 13.8 and roughly doubles the chance of hitting a high target. The effect is largest in the middle of the range and smallest at the extremes: if you needed a 2 or better you were nearly certain anyway, and if you needed a 20 the chance goes from one in twenty to just under one in ten.
This tool applies advantage to the whole expression — it rolls everything twice, including all the dice and the modifier, and keeps the better total. Several rulesets define it more narrowly, rerolling one nominated die and leaving the rest of the expression alone. When that distinction matters, roll the single die here with advantage and roll the remainder as a separate expression, then add the two.
Where the randomness comes from
Each die is drawn independently from the browser cryptographic random source, then reduced into the range 1 to M by rejection sampling: draws that fall in the leftover slice above the last whole multiple of M are thrown away and redrawn rather than folded back with a remainder. Folding them back is what causes modulo bias, and it would make the low faces of a d20 very slightly more common than the high ones. The skew is far too small to notice across a table session, and removing it costs nothing, so it is removed.
The face tally is printed whenever a single die type is in play, and it is worth looking at with the right expectation. Across fifty rolls of a d20 the counts will look distinctly uneven, with some faces appearing four times and others not at all. That is what fairness looks like at small sample sizes; suspiciously flat counts would be the anomaly. Roll a few thousand and the shares converge. If what you want instead is a flat draw from a range, or numbers without repeats, use the random number generator, and for choosing among named options rather than numbers there is the random picker.
Questions people ask
Does a d20 here really produce 1 through 20?
Yes, inclusive at both ends. The range is built as a closed interval and the reduction from the random 32-bit value uses rejection sampling, so 1 and 20 are exactly as likely as 11 — no off-by-one truncation at the top and no doubled value at the bottom. The face tally in the results lists every face from 1 to the number of sides, including any that did not come up, so a missing or extra value would be visible immediately.
Why is my average not the expected average?
Because ten or twenty rolls is a small sample, and the printed expectation is the long-run mean. On 2d6 the expected average is 7, and a run of fifteen rolls averaging 6.1 or 8.0 is entirely ordinary. The gap shrinks with the square root of the number of rolls, so four times as many rolls halves the typical error. Raise the roll count if you want to see the numbers converge.
Can I roll several kinds of dice at once?
Yes. Terms are combined with plus and minus signs, so 2d8+1d6-1 rolls two eight-sided dice, one six-sided die, and subtracts one from the total. A negative dice term is allowed too. The parser accepts up to 200 dice in a single expression and a maximum of 1000 sides on any die, both caps existing so a mistyped expression cannot lock up the tab.
Does it support drop-lowest or exploding dice?
No. The notation understood here is dice terms and flat modifiers, plus advantage and disadvantage on the whole expression. Keep-highest-three-of-four, exploding dice that reroll on a maximum, success counting against a target number and reroll-ones are all real conventions and all differ between systems, so implementing one interpretation would be wrong for most readers. Show every die is on by default, which lets you apply your own rule to the list by hand.
Is this good enough for anything money depends on?
For a game at a table, yes — the draws come from the operating system entropy pool through the browser cryptographic source, with no seed you or anyone else can predict, and the reduction is unbiased. For anything with money or legal weight attached, no web page is the right answer, because you cannot verify what the page did, the result is not recorded, and nobody else can audit it afterwards. The value here is convenience, not provable fairness.