Skip to content
Toolcroft

Random Generators

Dice Roller - Roll Any Dice Online (D&D Notation)

Roll any dice online - d4, d6, d8, d10, d12, d20, d100, or custom. Supports full D&D notation: 4d6kh3, 2d20kl1, 3d8!. Individual results, totals, and session history. All randomness via Web Crypto.

Quick rolls:

Pick a die type and click Roll to get started.

What dice notation is supported

The Notation tab accepts full dice notation. Here are the building blocks:

  • 2d6: roll 2 six-sided dice and add the results
  • 2d6+3: same, plus a flat modifier of +3
  • 4d6kh3: roll 4d6, keep the highest 3 (drop the lowest)
  • 2d20kl1: roll 2d20, keep the lowest 1 (disadvantage in D&D 5e)
  • 3d8!: exploding dice: re-roll and add whenever the max value is rolled
  • 2d6+1d4-2: two dice groups plus a negative modifier

You can combine these freely. 4d6kh3+1d4! is a valid expression. Dice count is capped at 100 per group and 200 total; sides can be 2–10,000.

How randomness works

Every die roll calls crypto.getRandomValues: the browser's cryptographically secure random number generator. It is seeded by your operating system's entropy pool, making it far stronger than Math.random(). Rejection sampling eliminates modulo bias: values that would skew the distribution are discarded and a new value is drawn instead.

Keep-highest and keep-lowest

4d6kh3 is the classic D&D ability score roll: roll four d6s, discard the lowest. kl does the opposite: keep the lowest N. k without a suffix defaults to keep-highest. Dropped dice are shown grayed out with a strikethrough in the result; they don't contribute to the total.

Exploding dice

When a die rolls its maximum value (e.g., 6 on a d6), an exploding die (`!`) is re-rolled and the new value is added to the chain. This continues until a non-max value is rolled, up to 20 explosions per die (a safety cap that is statistically never reached). The full explosion chain is shown below the dice chips for transparency.

Common RPG expressions

  • D&D 5e ability score: 4d6kh3
  • Advantage: 2d20kh1
  • Disadvantage: 2d20kl1
  • Fireball (average): 8d6
  • Sneak attack (10th level rogue): 5d6
  • Savage Worlds trait: 1d8!