Online dice roller with full notation
Roll any dice notation — 3d6+2, 1d20, 4d6kh3 — with animated results, keep-highest support, roll history and a live distribution of the totals you rolled.
- Runs in your browser
- Nothing you enter is sent
- Free, no account
Valid. Range 5 to 20, average 12.5.
Every die uses crypto.getRandomValues with rejection sampling, so all faces are exactly equally likely — no modulo bias, and nothing derived from the clock.
How to use the dice roller
- Type dice notation, or tap one of the presets.
- Press Roll, or just hit Enter in the notation box.
- To roll the same expression many times, set the × field — the outcome distribution chart appears underneath with the mean and standard deviation of the batch.
Individual dice are shown, dropped dice are struck through, and the last forty rolls stay in the history so you can settle an argument about what you actually rolled.
Dice notation
| Notation | Meaning | Range |
|---|---|---|
| d20 | One twenty-sided die | 1–20 |
| 3d6 | Three six-sided dice, summed | 3–18 |
| 3d6+2 | Three d6 plus a flat 2 | 5–20 |
| 1d20-1 | A d20 with a −1 penalty | 0–19 |
| 2d8+1d6+3 | Mixed dice pools added together | 6–25 |
| 4d6kh3 | Roll four d6, keep the highest three | 3–18 |
| 2d20kh1 | Advantage: roll two d20, keep the higher | 1–20 |
| 2d20kl1 | Disadvantage: keep the lower | 1–20 |
| 1d100 | Percentile die | 1–100 |
Up to 500 dice per term and 1,000 sides per die, with as many terms as you need. Anything the parser cannot read is explained in plain English rather than silently ignored.
Where the randomness comes from
Every die reads fresh entropy from crypto.getRandomValues, the browser's
cryptographically secure random number generator, which is seeded by the operating system. It is
not Math.random, and it is not seeded from the clock.
Raw random values are then mapped onto the faces with rejection sampling: values that fall in the incomplete final block of the 2³² range are discarded and redrawn. Taking a simple remainder instead would make the low-numbered faces very slightly more likely — the classic modulo bias. For a d6 the bias is far below any human's ability to notice, but there is no reason to accept it when discarding a value costs nothing.
Why 3d6 is not the same as 1d18
Both range from 3 to 18, but they behave completely differently. A single die is flat: every face is equally likely. Summing several dice produces a bell-shaped distribution, because there are many more ways to make a middling total than an extreme one.
| Total on 3d6 | Ways to roll it | Probability |
|---|---|---|
| 3 or 18 | 1 | 0.46% |
| 4 or 17 | 3 | 1.39% |
| 5 or 16 | 6 | 2.78% |
| 6 or 15 | 10 | 4.63% |
| 7 or 14 | 15 | 6.94% |
| 8 or 13 | 21 | 9.72% |
| 9 or 12 | 25 | 11.57% |
| 10 or 11 | 27 | 12.50% |
All 216 combinations add up: a 10 or an 11 is twenty-seven times as likely as a 3. Roll a batch of a few hundred here and the chart draws that curve in front of you.
Averages worth knowing
| Dice | Average | Notes |
|---|---|---|
| 1d4 | 2.5 | Any single die averages (sides + 1) ÷ 2 |
| 1d6 | 3.5 | |
| 1d8 | 4.5 | |
| 1d10 | 5.5 | |
| 1d12 | 6.5 | |
| 1d20 | 10.5 | |
| 3d6 | 10.5 | Same average as 1d20, far tighter spread |
| 4d6 keep highest 3 | ≈12.24 | The classic ability-score roll |
| 2d20 keep highest | ≈13.83 | Advantage — worth roughly +3.3 on average |
| 2d20 keep lowest | ≈7.17 | Disadvantage |
Keep-highest and keep-lowest have no simple closed-form average, which is why the tool shows the exact range for them but leaves the expected value to a batch simulation. Roll 4d6kh3 a thousand times here and the mean settles very close to 12.24.
Uses beyond tabletop games
- Board games where the dice have gone missing
- Classroom probability lessons — batch a thousand rolls and show the distribution forming
- Random selection when a coin flip has too few outcomes
- Simulation and playtesting of homebrew game mechanics
Privacy
No server sees your rolls. The history lives in the page and is gone when you close the tab or press Clear.
Questions
What dice notation does it understand?
NdX with any number of terms and modifiers: 3d6+2, 1d20-1, 2d8+1d6+3. It also supports keep-highest and keep-lowest — 4d6kh3 rolls four six-sided dice and keeps the best three, and 2d20kh1 is advantage.
Are the rolls actually random?
They use crypto.getRandomValues, the browser's cryptographically secure generator, with rejection sampling so there is no modulo bias. Nothing is seeded from the clock and every face is exactly equally likely.
How do I roll with advantage or disadvantage?
Advantage is 2d20kh1 (roll two, keep the highest) and disadvantage is 2d20kl1. Both are one tap away in the preset row, and the dropped die is shown struck through so you can see the full roll.
Why does 3d6 produce far more 10s and 11s than 3s?
Because there are 27 ways to roll 10 with three dice and only one way to roll 3. Summing dice produces a bell-shaped distribution — roll a batch and the outcome chart on this page shows the shape emerging.