Dice notation is a small language that tells you which dice to pick up and what to do with the numbers. The core takes a minute to learn. The suffixes (the kh3, the !, the x) are what trip people up, because they are not standardized, and the same three characters can mean different things in two different apps. This page covers the core, translates each common expression into an action you can perform at the table, and flags the places where two systems read the same characters differently.
On this page
What XdY±Z means
Every dice expression is built from the same three parts, and only the middle one is compulsory.
3d6+2
- The number in front is how many dice to roll. Leave it out and it means one:
d20and1d20are the same instruction. - The letter d separates the two numbers. It stands for die or dice, and it is the one character every system agrees on.
- The number after the d is how many faces each die has. A
d6is the ordinary cube; ad20is the twenty-sided one. If you are unsure which shape is which, the guide to dice types has a reference table. - The trailing +Z or −Z is a flat modifier applied once, to the total, after all the dice have been rolled. It is arithmetic, not a die.
So 3d6+2 means: roll three ordinary dice, add them together, then add 2 to that sum. The lowest possible result is 5 and the highest is 20. Expressions can also be added together: 2d4+1d6 means two four-sided dice plus one six-sided die, all summed. Dice are always rolled simultaneously, not one at a time, unless a rule says otherwise.
Two details are worth fixing in your head now, because almost every mistake with notation comes from mixing them up. First, the modifier is applied once to the total, not once per die: 3d6+2 is not the same as 3d(6+2), and it is not the same as adding 2 to each of the three dice. Second, the number of faces bounds a single die, while the number of dice bounds the total: 1d12 and 2d6 both top out near 12, but they behave very differently, which is the subject of the section on distributions below.
From notation to the table
Notation is an instruction, so here is each common expression as one: what it says, what you do with your hands, and a link that sets our online dice roller to that set of dice.
| Notation | In plain English | What you physically roll | Set the table |
|---|---|---|---|
d6 or 1d6 | Roll one six-sided die. | One ordinary die. | 1d6 → |
2d6 | Roll two six-sided dice, add them. | Two ordinary dice; total 2–12. | 2d6 → |
3d6 | Roll three six-sided dice, add them. | Three ordinary dice; total 3–18. | 3d6 → |
1d20+5 | Roll one twenty-sided die, add 5. | One d20. The +5 happens in your head. There is no die for it. | 1d20 → |
2d4+1d6 | Roll two four-sided dice and one six-sided die, add everything. | Three dice of two different shapes at once. | 2d4+1d6 → |
4d6kh3 | Roll four six-sided dice, keep the highest three. | Four ordinary dice; slide the smallest one aside and add the rest. | 4d6 → |
2d20kh1 | Roll two twenty-sided dice, use the higher. This is advantage. | Two d20s; read the bigger number and ignore the other. | 2d20 → |
2d20kl1 | Roll two twenty-sided dice, use the lower. This is disadvantage. | Two d20s; read the smaller number. | 2d20 → |
5d6 | Roll five six-sided dice. | The Yahtzee handful. | 5d6 → |
6d6 | Roll six six-sided dice. | The Farkle opening throw. | 6d6 → |
4dF | Roll four Fudge dice, each showing +, blank, or −, and net the pluses against the minuses. | Four Fate/Fudge dice; result −4 to +4. | 4dF → |
1d100 or d% | Roll percentile: a tens digit and a units digit, read together as one number from 1 to 100. | A tens die (00–90) and an ordinary d10 (0–9). See below. | d% + d10 → |
10d6 | Roll ten six-sided dice, add them. | A serious handful; total 10–60. | 10d6 → |
20d6 | Roll twenty six-sided dice, add them. | Twenty dice, more than this roller can put on the table. Twelve is its limit, so roll 10d6 twice and add the two totals. | - |
What the roller does and does not do. Those links set up the dice; they do not parse the expression. The roller adds up the faces it can see, so a flat modifier like the +5 in 1d20+5 is still yours to add, and nothing here rerolls, keeps, drops, or explodes for you. You roll the dice and read them, as you would with a physical set.
Keep and drop: kh3, kl1, dh1
The most common suffix family tells you to roll more dice than you will actually count. Two letters do all the work: k for keep and d for drop, each followed by h for highest or l for lowest, and then a number.
4d6kh3: roll four, keep the highest three. The classic Dungeons & Dragons ability-score roll: roll four dice, discard the lowest, add the remaining three, and repeat six times. We have a page that walks through 4d6 drop lowest in full, including what a rolled array really looks like.2d20kl1: roll two, keep the lowest one.4d6dl1: roll four, drop the lowest one. Identical in effect to4d6kh3: you are describing the same pile of dice from the other end.2d20dh1: roll two, drop the highest one.
That last pair is worth stating as a rule, because it explains why two rulebooks can write the same roll two different ways and both be right. Keeping the lowest N of X dice is exactly the same as dropping the highest X − N. On two dice the arithmetic collapses to the simplest case: 2d20kl1 and 2d20dh1 are the same instruction, because keeping one of two and dropping one of two leave you holding the same die. The same is true at the other end: 4d6kh3 and 4d6dl1 are one roll wearing two names.
An older, wordier style writes the same idea with letters instead of numbers: 4d6−L means roll four six-sided dice and drop the lowest, with L and H standing for the lowest and highest die. You will still meet it in older rulebooks, and it means precisely what 4d6kh3 means.
Keep/drop never changes how many dice you roll. 4d6kh3 still means four dice hit the table. If you roll three and add them, you are playing a different, slightly harsher game (see the numbers below).
Advantage and disadvantage
Modern Dungeons & Dragons has a mechanic that appears constantly and is almost always written in words rather than notation, which is a shame, because the notation is exact. When a d20 roll has advantage, you roll a second d20 and use the higher of the two; with disadvantage you use the lower. In notation:
- Advantage =
2d20kh1: two twenty-siders, keep the highest one. - Disadvantage =
2d20kl1: two twenty-siders, keep the lowest one.
With a modifier attached it becomes 2d20kh1+5: roll both dice, take the better one, then add 5 to that single die. The modifier is applied to the die you kept, not to both. Say so out loud, because it causes arguments when you don't.
Two rules that catch people out, both straight from the game's own rules: advantage and disadvantage never stack, so three sources of advantage still mean exactly two dice; and if a roll has both advantage and disadvantage at once they cancel completely, and you roll a single d20. There is no such thing as 3d20kh1 in that system, however much you might want one.
Exploding and open-ended dice
Some systems don't cap a die at its highest face. Roll the maximum, and you roll that die again and add the new result. If that also comes up maximum, you keep going. The technique goes by several names: exploding dice, open-ended rolling, and, in one variant, penetration. Different game lines call it the "rule of 6" or "acing".
There is no single agreed symbol for it, which is the main reason the notation is confusing. The common ones are an exclamation mark (3d6!), an asterisk (3d6*), or a trailing letter (3d6x or 3d6X), and there are three widely used variants:
- Standard exploding. Each maximum roll adds one more die, listed as a separate die in the results.
- Compounding. The extra rolls are folded into the original die, so a single "die" can report a value far above its face count. Roll20 writes this as
5d6!!and cites Shadowrun as the reason it exists. - Penetrating. Each extra roll has 1 subtracted from it before being added, which softens the tail. Roll20 writes it
5d6!p, after HackMaster.
Most systems also let you set the trigger below the maximum face (exploding on a 5 or 6 rather than only on a 6), which is written as a comparison after the symbol, such as Roll20's 3d6!>5.
Exploding dice have no ceiling, but they do have an average. An exploding d6 averages 4.2 rather than the plain die's 3.5. The extra 0.7 is small; the long tail is what you actually feel at the table, because roughly one roll in six turns into two dice, one in thirty-six into three, and every so often somebody's damage roll becomes a story.
Same intent, different dialect
The XdY core is universal, but every virtual tabletop invented its own modifier suffixes, and they clash. Below are the same six intentions written three ways, taken from each platform's own documentation.
| What you want | Roll20 | Foundry VTT | Demiplane |
|---|---|---|---|
| Roll 4d6, keep the highest 3 | 4d6k3 or 4d6kh3 | 4d6k3 or 4d6kh3 | 4d6kh3 |
| Roll 4d6, drop the lowest 1 | 4d6d1 or 4d6dl1 | 4d6d1 or 4d6dl1 | 4d6pl1 |
| Advantage on a d20 | 2d20kh1 | 2d20kh | 1d20 adv |
| Explode 3d6 on a 6 | 3d6! | 3d6x6 | 3d6e6 |
| Reroll anything under 2, once each | 2d6ro<2 | 2d6r<2 | 2d6ro<2 |
| Treat any result under 2 as a 2 | not in its reference | 4d10min2 | 4d10mi2 |
Three things in that table are worth calling out, because they are the ones that actually bite:
- The letter
ris a trap. In Roll20, a barerkeeps rerolling until the condition stops being met, androis the reroll-once version. In Foundry VTT it is the other way round:rrerolls each die exactly once andrris the recursive one. The same three characters, opposite behavior. Demiplane sides with Foundry's meaning but uses different spellings again:rofor once,rrfor infinite, andrafor reroll-once-and-add-both. - Demiplane spells drop as
p. Keep iskas everywhere else, but drop ispwith anh/lselector after it, so disadvantage written the long way is2d20pl1. Typing2d20dl1there is not a small syntax slip; it is a different string entirely. - Bare
kand baredhave defaults. On Roll20 and Foundry,kon its own means keep highest anddon its own means drop lowest, which is why4d6k3and4d6kh3are the same roll. That default is convenient but easy to miss, so spell out thehorlwhen you share a macro with someone.
A caveat on the Demiplane column, in the interest of not pretending: the help article those examples come from carries a notice saying it stopped being updated in May 2025 and may no longer be current. It is still the platform's own published reference, and it is what we cite, but check a live roll before you build a macro on it. If you find any of these three has changed, please let us know.
What each modifier does to the odds
Each suffix changes the range of results in a specific way, and knowing how tells you what a rule is trying to do.
- Adding dice narrows the middle. On
1d12every number from 1 to 12 is equally likely, one chance in twelve. On2d6the range is nearly the same but the shape is a peak: a 7 comes up on 6 of the 36 combinations, about 17%, while a 2 or a 12 comes up on exactly one. Roll3d6and it tightens further: the average is 10.5, and 10 and 11 each land 27 times in 216, about one roll in eight. - A flat modifier slides, it does not reshape.
3d6+2has exactly the same bell as3d6, shifted two points to the right. Every outcome keeps its probability; only its label changes. - Keep/drop skews the whole thing upward.
4d6kh3averages about 12.24, well above plain3d6's 10.5, and it also reshapes the tails: an 18 turns up 21 times in 1,296 (about 1.6%), and a 15 or better about 23% of the time. That is why it is the ability-score roll: it produces characters who are better than average. - Advantage is a bigger deal in the middle than at the edges.
2d20kh1averages 13.825 against a plain d20's 10.5, so it is worth about +3.3 on the die. But as a chance of hitting a target number, its value peaks in the middle of the range: against a target of 11 it lifts your odds from 50% to exactly 75%. Against a target you were going to beat anyway, or one you had almost no chance at, it barely moves the needle.2d20kl1is the mirror image, averaging 7.175. - Exploding raises the average a little and removes the ceiling entirely. No fixed number of dice can produce an unbounded result; an exploding die can, which is a different kind of risk from a bigger die.
The page on dice probability shows where those numbers come from, with tables: the 36 combinations of two dice, why 7 is the peak, and how the math behaves when you add more dice.
Percentile and the d100 read
Rulebooks refer to d100 and d% interchangeably, and both mean the same thing: a single number from 1 to 100. Hundred-sided dice do exist, but the standard way to roll one is with two ten-sided dice, called percentile dice.
You decide before rolling which die is the tens digit and which is the units. Usually that is a dedicated tens die marked 00, 10, 20 and so on up to 90, paired with an ordinary d10 marked 0 to 9. Read the tens die, then the units die, and put them side by side. Roll a 7 on the tens and a 1 on the units and the result is 71. There is one special case: two zeros read as 100, not as zero. Percentages in rules are written the same way, so a 5% chance means a roll of 01 to 05 succeeds.
Our roller has both dice in its catalog (the tens die and the d10), so you can set the pair up and read them as you would physical ones. Roll percentile dice → Be aware that the total shown underneath adds the two numeric values rather than reading them as tens and units. The percentile result is the one you read off the faces. The rest of the polyhedral family, and which shapes are fair, are covered in types of dice.
Reading anything you meet
With that, you can read almost any expression. Take 2d6+1d8+4: two ordinary dice, one eight-sided die, all summed, plus 4. Or Foundry's 6d10cs>=8: six ten-sided dice, counting each 8 or better as a success rather than adding anything up. That is a dice pool, where the answer is a count rather than a total. Or 4dF+2: four Fudge dice netted against each other, plus 2.
When you hit a suffix you do not recognize, check the documentation for the tool you are using instead of guessing. As the table above shows, a wrong guess can leave you rerolling forever. If you just want the dice themselves (any mix of shapes, any colors, up to twelve at a time, on a screen everyone at the table can see), the roller on the home page is free and needs no account. To put it on a television so the whole group can watch the dice land, use the Android app.
Frequently asked questions about dice notation
What does 2d6 mean?
2d6 means roll two ordinary six-sided dice and add the two results together, giving a total between 2 and 12.
What does 3d6 mean?
3d6 means roll three six-sided dice and add them up, for a total between 3 and 18 that averages 10.5 and clusters around the middle.
What does 4d6kh3 mean?
4d6kh3 means roll four six-sided dice, keep the highest three, and add those three together. It is the traditional way of rolling a Dungeons and Dragons ability score, and it averages about 12.24 instead of the 10.5 you would get from plain 3d6.
What does the plus sign mean in 1d20+5?
The plus sign adds a flat modifier to the total after the dice are rolled. In 1d20+5 you roll one twenty-sided die and add 5, so the result is always between 6 and 25. The modifier is arithmetic, not an extra die.
Is kl1 the same as dh1?
On a two-die roll they are the same thing: keeping the lowest one of two dice and dropping the highest one of two dice leave you with exactly the same die. More generally, keeping the lowest N of X dice is identical to dropping the highest X minus N, so 2d20kl1 and 2d20dh1 both describe disadvantage.
Does every dice roller use the same notation?
No. The XdY core is universal, but the modifiers are not. Roll20 writes exploding dice as 3d6! while Foundry VTT writes 3d6x6 and Demiplane writes 3d6e6, and Demiplane spells drop as p rather than d. The worst trap is the letter r: in Roll20 a bare r keeps rerolling until the condition stops being met, while in Foundry r rerolls each die only once and rr is the recursive version.