Dice Roller

Configure

Enter a dice expression and roll without sending the expression or results to the server. The roller handles ordinary pools such as 2d6, flat modifiers such as 1d20+5, keep-highest or keep-lowest pools, exploding dice, and the familiar d20 advantage and disadvantage shortcuts. It shows every die chain, marks discarded dice and keeps the latest 20 rolls in this browser session.

How to roll dice

  1. 1

    Enter an expression

    Use `NdS`, where N is the number of dice and S is the number of sides. For example, `3d8` rolls three eight-sided dice. A missing N means one die, so `d20` is accepted.

  2. 2

    Add optional rules

    Add `+X` or `-X` for a flat modifier, `khK` or `klK` to keep K dice, `!` for exploding dice, or use `1d20adv` and `1d20dis`.

  3. 3

    Roll locally

    The browser draws each face with `crypto.getRandomValues` and rejection sampling, so every face in the requested range has the same chance. If secure randomness is unavailable, the tool refuses to roll.

  4. 4

    Review or repeat

    See the kept and discarded dice, the dice sum and the modified total. The latest 20 valid results remain in session storage until you clear them or end the browser session.

Supported dice notation

Expression What the roller does
d6 Rolls one six-sided die
2d20 Rolls two twenty-sided dice and adds both
1d20+5 Rolls one d20 and adds 5 to the dice sum
4d6kh3 Rolls four d6 and keeps the three highest subtotals
4d6kl2 Rolls four d6 and keeps the two lowest subtotals
2d6! Rolls two exploding d6; each maximum face adds another roll to that die
1d20adv Rolls two d20 and keeps the higher result
1d20dis-2 Rolls two d20, keeps the lower result, then subtracts 2
1d1000 Rolls one custom die with 1,000 possible values

The limits are 1 to 100 dice, 2 to 1,000 sides and a modifier from -1,000,000 to +1,000,000. adv and dis are deliberately limited to one d20 expression. A keep value must be between 1 and the number of dice.

Exploding dice and keep rules

An exploding die rolls again whenever it lands on its maximum face. The extra values belong to the same die and are added into that die’s subtotal. When kh or kl is also present, the roller ranks those complete subtotals before deciding which dice to keep.

To prevent a faulty or adversarial random source from locking the page, one die may make at most 100 extra explosion rolls. Reaching that safety limit cancels the entire result instead of showing a partial total.

Probability checks

  • A fair d20 has a 5% chance of landing on any named face, including 1 or 20.
  • Two d6 have 36 equally likely ordered outcomes. Six total 7, so the chance of a 7 is 6/36, or about 16.67%.
  • Three d6 average 10.5. The chance of a total of 3 is 1/216, and the chance of 18 is also 1/216, about 0.46% each.
  • Four d6 keeping the highest three average about 12.24 before any modifier.

Randomness and appropriate use

The roller uses the browser’s cryptographic random source and rejects out-of-range 32-bit samples before mapping them to a die face. This avoids modulo bias for dice such as d6. It is suitable for games, classroom exercises and simulations, but it is not a certified gambling device and its output should not be used to create passwords, cryptographic keys or other security secrets.

The expression, random faces and history stay in the browser. In the optional step-by-step view, the expression record is valid in session storage for up to 30 minutes so it can move between steps; the expression is not placed in the URL. An expired record is removed the next time it is read or when the tab session ends.

Frequently Asked Questions

Yes. The side count may be any whole number from 2 through 1,000. d7, 2d30 and 1d1000 are valid even though they do not describe common physical polyhedra.

Append !. Each die that lands on its maximum face rolls again, and the new face is added to that same die. A maximum can trigger another roll. The tool cancels the result if one die reaches 100 extra rolls, so it never presents a truncated chain as complete.

d20adv or 1d20adv rolls two d20 and keeps the higher one. d20dis or 1d20dis keeps the lower one. You may add a flat modifier, but these shortcuts do not accept another die count, side count, keep rule or explosion rule.

The expression and results are not sent through Livewire or put in the URL. Up to 20 valid results are kept in this browser session, and you can clear them at any time. Closing the session normally removes them. Browser extensions or other software with access to the page may still observe page data.

Related Tools