D&D dice roller with notation
Roll using the dice notation you already know — NdS with an optional +/- modifier and keep-highest / keep-lowest clauses. It is made for tabletop role-playing games like Dungeons & Dragons, where ability scores, attacks and saving throws are all expressed in dice notation.
How it works
You type notation such as 2d6+3 or 4d6kh3, and the parser reads four parts: the count (how many dice), the sides per die, an optional keep clause (khN keep highest N, klN keep lowest N), and an optional +/- modifier. Each die is rolled with the browser’s Web Crypto API using rejection sampling to remove modulo bias, so every face is equally likely. If a keep clause is present, the dice are sorted and only the best (or worst) N are summed; the modifier is then added to give the total.
Example
Roll 4d6kh3 (the classic ability-score roll):
rolls [5, 4, 3, 1] → keep highest 3 → [5, 4, 3] = 12
| Notation | Meaning | Total range |
|---|---|---|
| 1d20+5 | d20 plus 5 (attack) | 6–25 |
| 4d6kh3 | 4d6 keep highest 3 | 3–18 |
| 2d20kh1 | advantage (keep higher d20) | 1–20 |
| 2d20kl1 | disadvantage (keep lower d20) | 1–20 |
| 8d6 | fireball damage | 8–48 |
You see the individual dice, which were kept, the modifier and the total, plus a short history of recent rolls. Everything runs in your browser — nothing is uploaded.