D&D Dice Roller

Roll dice notation like 2d6+3 or 4d6kh3 — fair and instant.

Free D&D dice roller that parses standard notation (NdS, modifiers, keep-highest/lowest). Uses the Web Crypto API for fair rolls and runs entirely in your browser — nothing is uploaded. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What dice notation is supported?

Standard NdS notation — for example 3d8 or 1d20 — plus an optional +/- modifier and an optional keep-highest or keep-lowest clause written as khN or klN, such as 4d6kh3.

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.

Common D&D notation reference

NotationMeaningTotal range
1d20+5d20 plus 5 (attack roll or check)6–25
4d6kh34d6 keep highest 3 (ability score)3–18
2d20kh12d20, keep higher (advantage)1–20
2d20kl12d20, keep lower (disadvantage)1–20
1d8+4longsword damage with modifier5–12
8d6fireball damage (no modifier)8–48
6d8+12Great Weapon Master heavy hit18–60
10d6lightning bolt10–60

Worked example — the 4d6kh3 ability score roll

Roll 4d6kh3:

Individual dice: [5, 4, 3, 1] Kept (highest 3): [5, 4, 3] Total: 12

The lowest die (1) is dropped. This is the classic 5e ability-score rolling method, which tends to produce slightly higher scores than the standard array while adding the excitement (and occasional misery) of randomness.

Advantage and disadvantage

Advantage and disadvantage are expressed naturally in dice notation:

  • Advantage: 2d20kh1+5 — roll two d20s, keep the higher, add 5
  • Disadvantage: 2d20kl1+5 — roll two d20s, keep the lower, add 5

The keep clause eliminates the need to roll separately and compare. The individual die results are displayed so you can see both rolls, which matters for features like Elven Accuracy that interact with advantage.

Why Web Crypto API matters for fairness

Most browser Math.random() implementations use a pseudo-random number generator that is theoretically predictable given enough output. The Web Crypto API uses the operating system’s cryptographically secure entropy source (hardware noise, OS events) and applies rejection sampling to remove modulo bias — ensuring that a d6 really does have exactly a 1-in-6 chance per face, not a slightly uneven distribution from integer truncation.

For casual gaming this distinction is academic, but it means the roller produces the same statistical properties you expect from a physical die rather than the subtle biases that affect simple modulo operations.

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.