Dice Roller
Roll tabletop dice notation for play or odds checks with advantage, rerolls, explosions, target rates, traces, charts, and a local log.Latest roll
Current status
| Field | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
| Total | Count | Share | Cumulative ≤ | Cumulative ≥ | Target | Copy |
|---|---|---|---|---|---|---|
| {{ row.total }} | {{ row.count }} | {{ row.share }} | {{ row.cumulativeAtMost }} | {{ row.cumulativeAtLeast }} | {{ row.target }} |
| # | Kept | Roll chain | Die total | Copy |
|---|---|---|---|---|
| {{ die.index }} | {{ die.kept ? 'Yes' : 'No' }} | {{ die.chain }} | {{ die.total }} |
| When | Expression | Total | Simulations | Success rate | Copy |
|---|---|---|---|---|---|
| {{ entry.when }} | {{ entry.expression }} | {{ entry.total }} | {{ entry.simulations }} | {{ entry.successRate }} |
Introduction:
Dice notation turns a tabletop chance rule into a short expression. A game note can say 4d6kh3+2 instead of spelling out "roll four six-sided dice, keep the highest three, then add two." The compact form is useful for role-playing games, board-game variants, solo play, classroom probability examples, and design notes, but the suffixes matter because they decide which dice actually count.
The basic shape is NdS. N is the number of dice, S is the number of faces, and the results are normally summed. 1d20 means one twenty-sided die, 2d6 means two six-sided dice, and d100 is common shorthand for one percentile die. A signed modifier such as +5 or -1 changes the final total after the selected dice have been counted.
- Live roll
- One completed result for the current table decision.
- Distribution
- The pattern of totals produced by many repeated rolls under the same rule.
- Target number
- A threshold such as
>= 15that turns a final total into pass or fail. - Keep/drop rule
- A suffix such as
kh3ordl1that decides which completed dice are included in the subtotal.
A single roll and a probability estimate answer different questions. A live 1d20+5 total tells the table what happened now. Repeating that same rule hundreds or thousands of times estimates the average total, the spread, and the share of totals that meet a target. Those repeated-run statistics are useful for planning and comparison, but they do not make the next roll predictable.
Random dice are appropriate for games, practice, teaching, and informal design checks. They are not a certified method for wagering, regulated prize selection, security tokens, or any process that needs an auditable random source, participant list, and independent verification record.
How to Use This Tool:
Choose the roll expression first, then decide whether the run should be a live result, an odds estimate, or a repeatable seeded test.
- Pick a
Presetfor common expressions such as1d6,2d6,1d20+5,4d6kh3, ord100. UseCustomwhen typing your own notation. - Enter one
Roll expression. Supported shapes include1d20+5,4d6kh3,8d10dl2-1, andd100. A shorthand expression such asd100is normalized to1d100after a valid roll. - Set
Roll modetoSingle roll,Advantage, orDisadvantage. Advantage and disadvantage roll the full expression twice, then keep the higher or lower final total. - Open
Advancedfor probability and special-rule controls. UseSimulationsfrom 1 to 5000, set aSuccess check, enableExploding dice, enter aReroll threshold, choose anRNG source, or changeSession log size. - Use
Cryptofor ordinary live rolling when browser cryptographic randomness is available. UseSeeded deterministicwith aSeedwhen the same settings should replay a demonstration. UseMath.randomonly when non-cryptographic browser randomness is acceptable. - Press
Roll. ReadLatest rollfor the immediate total,Outcome Ledgerfor summary statistics,Probability Lensfor the chart,Probability Tablefor cumulative odds,Roll Tracefor die chains, andSession Logfor recent runs. - If an unsupported-expression warning or drop-count warning appears, reduce the notation to one
NdSterm or lower the drop count so at least one die remains kept. Roll again and confirm the normalized expression before trusting the result.
Interpreting Results:
Last total is the selected final total after modifiers, keep/drop rules, rerolls, explosions, and advantage or disadvantage have already been applied. Mean total, Standard deviation, P10 total, Median total, P90 total, and the histogram describe the completed simulations, so read those fields together with the Simulations count.
A high Success rate does not promise that the next roll will pass. It means the simulated final totals passed the selected operator and target that often. When a total looks surprising, use Roll Trace to check which dice were kept, which were dropped, whether a low face was rerolled, and whether an explosion added to a die chain.
| Result field | How to read it | What to verify |
|---|---|---|
Last total |
The final answer for the most recent selected roll. | Open Roll Trace if special rules could have changed the subtotal. |
Mean total |
The average final total across the completed simulations. | Compare with Analytical mean only when analytical fields appear for a simple sum. |
Standard deviation |
The spread of simulated final totals around the mean. | Larger values mean swingier rolls even when the average is favorable. |
Success rate |
The share of simulated final totals that passed the selected target rule. | Check the operator carefully, especially > versus >= and < versus <=. |
Probability Table |
Counts, percentages, and cumulative odds for each simulated total. | Use cumulative columns when a threshold matters more than one exact total. |
Seeded deterministic runs are repeatable notes, not evidence that a public draw was fair. Important public draws need a separate process that records the random source, participants, timing, and verification method.
Technical Details:
A fair die with s faces is a discrete uniform random variable over integers 1 through s. Summing independent dice creates a distribution whose center and spread depend on dice count, face count, and any fixed modifier. Keep/drop rules change that distribution because completed die totals are sorted before the subtotal is chosen.
Reroll and explosion rules happen at the die level before keep/drop selection. A low-face reroll replaces the first face once when it is at or below the threshold. An exploding die adds another face when the trigger appears, and repeated triggers continue the chain up to a guard limit. Advantage and disadvantage happen above the whole expression: two complete results are generated and the higher or lower total is selected.
Rule Core:
| Stage | Mechanism | Boundary |
|---|---|---|
| Expression | Accepts one NdS term, optional kh, kl, dh, or dl suffix, and one signed integer modifier. |
Chained dice such as 2d6+1d4 and parenthesized arithmetic are outside the accepted notation. |
| Bounds | Dice count is clamped from 1 to 2000, faces from 2 to 100000, simulations from 1 to 5000, and session log size from 10 to 200. | A drop rule must leave at least one kept die. |
| Reroll | A die is rolled once more when its first face is less than or equal to the threshold. | The replacement face is the value that can later trigger an explosion. |
| Explosion | The die adds another face while the trigger repeats. | The trigger can be the maximum face or a custom face, and each die chain stops after 40 extra faces. |
| Selection | kh keeps highest totals, kl keeps lowest totals, dh drops highest totals, and dl drops lowest totals. |
Selection uses completed die sums after rerolls and explosions. |
| Target check | The final total is compared with >, >=, =, <, or <=. |
Pass/fail is based on the final total, not on individual die faces. |
Formula Core for Simple Sums:
Exact analytical mean and standard deviation apply only to a plain fair-dice sum with a fixed modifier. Keep/drop rules, rerolls, exploding dice, advantage, and disadvantage use sampled statistics because they alter the distribution after the initial die faces are generated.
n is dice count, s is faces per die, m is the modifier, and T is the final total.
For 2d6+3, the expected total is 2 x (6 + 1) / 2 + 3 = 10. The variance is 2 x (36 - 1) / 12, so the standard deviation is about 2.42. A rule such as 4d6kh3 cannot use that shortcut because the lowest completed die is removed before the modifier is applied.
The simulation distribution is built from final totals. Percentiles are interpolated from sorted totals, histogram buckets count matching totals, cumulative percentages use the same sampled totals, and target success rate is pass count divided by simulation count.
Random integers are drawn with rejection sampling to avoid uneven modulo buckets. Crypto mode uses browser cryptographic randomness when available, seeded deterministic mode uses a repeatable seed-derived number stream, and the Math.random option follows the browser's non-cryptographic generator.
Limitations and Fairness Notes:
Dice results are suitable for local play, probability exploration, and repeatable examples. They should not be treated as certified randomness for money, regulated contests, security material, or public draws.
- Simulation results are estimates when
Simulationsis greater than 1. Increase the count for a steadier probability view, but expect small variation between non-seeded runs. - The accepted notation is intentionally narrower than full virtual-tabletop syntax. Mixed dice pools, grouped rolls, recursive expressions, and parenthesized arithmetic are not parsed.
- Seeded deterministic runs replay the same browser-side sequence for the same seed and settings; they do not prove fairness to someone who cannot inspect the full process.
Worked Examples:
d20 check with a target
A 1d20+5 roll with Success check set to >= 15 passes on natural die faces 10 through 20. In a large simulation, Success rate should hover near 55%, while one live Last total still depends on the final selected die.
Two six-sided dice
For 2d6 with target >= 7, middle totals occur more often than edge totals. A large run should put cumulative-at-least odds for 7 near 58.33% in Probability Table, while an exact 12 remains much rarer.
Ability-score style roll
4d6kh3 rolls four dice and keeps the highest three completed die totals. Roll Trace should mark one die as dropped, and Mean total usually settles in the low twelves rather than the 3d6 mean of 10.5.
Drop-count correction
If 4d6dl4 returns a drop-count warning, the rule tried to drop every die. Change it to 4d6dl1 or 4d6kh3, roll again, and use Roll Trace to confirm that exactly one die was excluded.
Advanced Tips:
- Use more than one
Simulationswhen you needProbability LensorProbability Table; a single live roll does not render a distribution. - Set
Success checkbefore comparing builds or target numbers, and verify the operator because inclusive and exclusive thresholds change the pass count. - Use
Seeded deterministicfor lesson notes or reproducible design checks, then keep the seed, expression, and advanced settings unchanged. - Check
Roll Traceafter using rerolls or exploding dice, because the visible chain explains totals that exceed the normal die face range. - Keep
Session log sizehigh enough for the current play or testing pass, but remember it is a browser-side review log rather than permanent storage.
FAQ:
What dice expressions are accepted?
Use one NdS expression with optional kh, kl, dh, or dl, plus one optional signed modifier. Examples include 1d20+5, 4d6kh3, 8d10dl2-1, and d100.
Why do analytical fields disappear?
Analytical mean and Analytical stdev appear only for simple summed dice with a fixed modifier. Keep/drop rules, rerolls, explosions, advantage, and disadvantage use sampled statistics instead.
Does advantage reroll only one die?
No. Advantage and Disadvantage roll the full expression twice, including modifiers and die-level special rules, then select the higher or lower final total.
Why did an exploding die get very large?
An exploding die keeps adding faces while the trigger repeats. Each die chain has a 40-extra-face guard, but rare repeated triggers can still create much larger totals than a normal die.
Does the seed make a roll fair?
No. The seed makes the deterministic sequence repeatable for the same seed and settings. It helps with demonstrations and test notes, not with certifying a public draw.
Are roll results sent to a dice server?
No dice service is used for parsing, rolling, simulation, trace, or session log behavior. The expression and results stay in the browser unless you copy or download them.
Glossary:
- Dice notation
- A compact expression such as
NdSthat states how many dice to roll and how many faces each die has. - Modifier
- A fixed number added to or subtracted from the kept dice subtotal.
- Keep/drop rule
- A suffix that keeps or removes the highest or lowest completed die totals before the modifier is applied.
- Exploding dice
- A rule that adds another face when a selected trigger face appears.
- Distribution
- The frequency pattern of final totals across repeated rolls under the same settings.
- Target number
- The threshold used with an operator to decide whether a final total passes.
- Seed
- Text used to replay a deterministic random sequence when the same roll settings are used.
References:
- Crypto: getRandomValues() method, MDN Web Docs, last modified August 19, 2025.
- Dice Reference, Roll20 Help Center.
- Dice, AnyDice documentation.
- explode DIE, AnyDice documentation.