Dice Roller
Dice setup unavailable
Return to the first step, or open the complete one-page editor if browser storage is blocked.
Choose your dice
Use NdS notation, then add kh or kl, !, adv or dis, and a modifier when needed.
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
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
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
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
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
Mouse Tester
Test your mouse buttons, wheel scrolling, pointer movement and double-click timing in the browser. See event logs and movement samples without uploads.
Competition Bracket Maker
Build a seeded or shuffled single-elimination bracket for 2–32 teams or players, assign automatic byes, advance winners, copy and print it.
Fancy Serial Number Checker
Check US-style currency serial numbers for fancy patterns like radars, ladders, repeaters, low numbers and star notes.
Metronome
Practice with a precise online metronome. Set BPM, meter, accent and subdivisions, then play a steady browser click locally.
Guitar Tuner
Tune a guitar in your browser with microphone pitch detection, cents offset, standard and alternate tunings, and no audio upload.
Minecraft Circle Generator
Create hollow or filled Minecraft circle and ellipse blueprints. Set the block dimensions, count materials, inspect the grid and download an SVG.