Dice Probability, Exactly Counted
After reading this you will be able to read any dice expression, compute its exact odds by counting combinations, and tell the difference between the mean, the median and the "at least X" tail that actually decides your roll.
What the Dice Probability Lab does
Type a dice expression like 4d6kh3 and the tool returns the exact probability of every possible total, plus the mean, standard deviation, median and the chance of hitting at least any value you name. It does not roll dice. It counts every outcome.
Here is the hook. A single d20 gives you a 20 exactly 5% of the time: one face out of twenty. Roll with advantage, written 2d20kh1 (two d20s, keep the highest), and the chance of a 20 climbs to 9.75%. The mean shifts from 10.5 to about 13.83. Nothing about the dice changed. Keeping the better of two rolls changed the distribution, and the tool shows you exactly how.
Because every curve comes from exact counting rather than simulation, the numbers do not drift between runs. Roll a real 4d6kh3 ten thousand times and your average will wobble near 12.24. The Lab prints 12.2445 and it stays there.
When exact odds help, and when they do not
Use the Lab when the answer must be precise and repeatable: comparing two attack builds, checking whether a house rule is fair, or reading the true shape of a keep-highest mechanic. Exact convolution handles one-in-a-billion tails without noise, so rare-event questions get honest answers.
Do not reach for it when you just want to roll. If you need results, not distributions, use the Dice Roller. And exact math tells you the odds, never the outcome. A 91% chance to hit still misses about one time in eleven. The distribution is the truth about the process, not a promise about your next roll.
There is no such thing as a die being "due." Dice have no memory. After four misses at 60% each, your fifth roll still succeeds 60% of the time. The streak was unlikely (about 2.56%), but it does not lean on the future.
The formula and the intuition behind it
The probability of one specific total is the number of dice combinations that produce it, divided by the total number of equally likely combinations.
Here N is the number of dice, S is the number of sides, and k is the target total. For N fair dice each with S sides there are S^{N} equally likely ordered outcomes. Count how many of them add up to k, divide, and you have the exact probability.
For two dice you can add curves by convolution: the ways to make a total are found by sliding one die's distribution across the other and summing overlaps. Adding a third die convolves again. The tool builds the whole curve this way, which is why 3d6 peaks at 10 and 11 rather than spreading evenly. There are 27 ways to roll 10 or 11 each, but only 1 way to roll 3 or 18.
A worked example: 4d6 keep highest 3
This is the classic ability-score roll and the tool's default. Roll four six-sided dice, drop the lowest, keep the top three. Notation: 4d6kh3, which equals 4d6dl1.
Counting the odds for 4d6kh3
- There are 6^{4} = 1296 equally likely ordered outcomes for four d6.
- For each outcome, drop the single lowest die and sum the other three. The result ranges from 3 (all ones) to 18 (three or more sixes).
- Count how many of the 1296 outcomes give each total. Only 1 gives a total of 3 (rolling 1,1,1,1). At the other end, 21 outcomes give 18.
- Divide each count by 1296. The mean works out to
12.2445, the median is 12, and the standard deviation is about2.847.
Compare that to plain 3d6, which has a mean of exactly 10.5. Dropping the lowest of four dice buys you about 1.74 points on average and shifts the whole curve toward the high end.
Reading the results without fooling yourself
Three summary numbers describe a curve, and they answer different questions.
- Mean
- The long-run average total. For
4d6kh3it is 12.2445. Over thousands of rolls your average converges here. - Median
- The middle outcome: half of rolls land at or below it. For
4d6kh3the median is 12. When a curve is skewed, the median and mean differ, and the median often matches "typical" better. - Standard deviation
- How spread out results are. About 2.847 here. Roughly two thirds of rolls fall within one standard deviation of the mean, so most
4d6kh3totals land between 9.4 and 15.1.
The most decision-relevant number is usually the "at least X" tail. If a task needs a 15 or higher, the single stat you want is the sum of probabilities from 15 to 18. For 4d6kh3 that is 10.11 + 7.25 + 4.17 + 1.62 = 23.15%. Roughly one score in four clears 15.
When you compare two builds, compare the tails you care about, not just the means. Two expressions can share a mean of 12 while one hits 18 far more often. The mean hides the extremes; the tail probability shows them.
Advantage, and why keeping the higher die is not "+3"
Advantage means roll two d20 and keep the higher: 2d20kh1. People often model it as a flat bonus, but it is not flat. The improvement depends on where you already are.
The chance the maximum of two d20 equals k is the chance both dice are at most k minus the chance both are at most k-1.
So a 20 has probability \frac{39}{400} = 9.75\%, nearly double the flat 5%. A result of 1 has probability \frac{1}{400} = 0.25\%. The mean rises from 10.5 to 13.825. But if you need at least an 11, advantage lifts your chance from 50% to 75%, a 25-point jump. If you need at least a 2, advantage barely helps: 95% becomes 99.75%. Advantage is worth the most in the middle of the range and least at the edges.
Common mistakes
Confusing "the average roll" with "the roll you will get." The mean of 3d6 is 10.5, but you never roll a 10.5. The most likely single totals are 10 and 11, each about 12.5%.
Treating each total as equally likely. On one d6 every face is 1/6. On 2d6 a 7 (six ways, 16.67%) is six times as likely as a 2 (one way, 2.78%). More dice means a sharper peak.
Reading keep-highest as a fixed bonus. As shown above, the benefit of advantage varies from 0.25 points near the top to about 25 percentage points in the middle.
Adding tail probabilities across different curves. A 23% chance to beat 15 on 4d6kh3 tells you nothing about a d20 roll. Compute each tail on its own curve.
Frequently asked questions
Why not just simulate a million rolls?
Simulation gives approximate answers with random error. A million-roll estimate of a 0.077% event might read 0.06% or 0.09%. Exact convolution counts every combination once, so the Lab prints the true value with no sampling noise, even for tails near one in a billion.
What does kh3 actually mean?
Keep the highest 3 dice. 4d6kh3 rolls four d6 and sums the top three, which is identical to 4d6dl1 (drop the lowest one). Use kl to keep the lowest and dh to drop the highest.
Is d% the same as d100?
Yes. d% and d100 both produce a uniform result from 1 to 100, each with probability 1%.
After a long streak of bad rolls, am I due for a good one?
No. Fair dice have no memory. Every roll starts fresh at its own odds. Streaks look meaningful in hindsight but do not shift the next result by a single percentage point.
Which is more useful, the mean or the median?
It depends on the question. The mean predicts long-run averages and is what you sum across many rolls. The median tells you the typical single result and resists skew. For decisions on one roll, the "at least X" tail beats both.
Related tools
Once you know the odds, roll them with the Dice Roller, which supports the same notation and reports statistics on your actual rolls. For simpler two-outcome experiments, the Coin Flip tool shows tallies and streaks across many flips. To pick from your own list of options rather than numbered faces, use the Wheel Spinner. Everything you enter in the Lab runs locally in your browser and is never sent to any server.