Roll 1–10 standard polyhedral dice with a whole-number modifier using Web Crypto rejection sampling, visible event history, and clear ordinary-use limits.
Built for Misc1 documented formulaFocused single-task workflowPrivate in your browser
Use this result well
A quick decision brief for this specific tool
Inputs that matter
One to ten dice, a supported d4/d6/d8/d10/d12/d20/d100 type, and one whole-number modifier from −1000 to 1000
Output to expect
Individual faces, one modified event total, up to 20 validated browser-local events, and event-total average/minimum/maximum
How it works
Browser Web Crypto uint32 values mapped to faces with rejection sampling; settings are snapshotted and locked for each animated roll
Statistics describe saved roll-event totals including modifiers, not the distribution of every die face.
Use for ordinary games and casual choices, not audited gambling, lotteries, regulated draws, cryptographic keys, or reproducible research.
Choose your path
Built around the job you need to finish
Roll a bounded set of standard dice from browser cryptography while keeping each animated event, total, and local-history record internally consistent.
Tabletop player
Roll several standard polyhedral dice with one game modifier.
Choose count, sides, and modifier, roll once, then inspect individual faces and the total.
Settings cannot change mid-roll and the result/history preserve the exact event configuration.
Probability teacher
Demonstrate bounded random samples without claiming short-run balance.
Repeat supported rolls and compare event totals with the possible range and event-level history statistics.
Can distinguish observed event totals from individual-die distributions and theoretical expectation.
Risk-aware casual user
Know the randomness method and its scope.
Review the Web Crypto/rejection disclosure before using a low-stakes result.
Keeps gambling, regulated draws, keys, and reproducible research in appropriate audited systems.
For an s-sided die, uint32 values at or above floor(2^32 / s) × s are discarded. An accepted value maps to value mod s + 1.
face = acceptedUint32 mod sides + 1
Atomic Roll Settings
Count, sides, and modifier are snapshotted and locked during the animation so the displayed faces, total, and history record always describe the same event.
Boundaries and Failure
The panel accepts 1–10 dice, listed standard sides, and an integer modifier from −1000 to 1000. If secure randomness is unavailable, it reports an error instead of using a weaker source.
Updated: August 2026
Example Scenarios
A player selects 3d8+2, rolls once, and can read the three faces, one applied modifier, and saved event total without settings changing mid-roll.
A teacher compares observed event totals with the theoretical range while explaining that a short run need not match the expected average.
A facilitator uses a standard die for a low-stakes choice and keeps regulated or consequential selection in an audited system.
FAQ
The panel draws unsigned 32-bit values from browser Web Crypto and rejects values that would introduce modulo bias before mapping each accepted value to a die face. It does not fall back to Math.random().
The whole-number modifier is added once to the sum of all dice. It changes the total and possible total range, but it does not change any die face.
Average, minimum, and maximum are calculated across saved roll-event totals, including each event's modifier. They are not a distribution of every individual die.
No. Up to 20 validated events are stored only in this browser profile when localStorage is available. Clearing site data, private browsing, storage limits, or another device can remove them.
No. It is intended for ordinary games, classroom demonstrations, and casual choices. It is not an independently audited randomness service for gambling, lotteries, regulated draws, or cryptographic keys.
About Dice Roller
Choose 1–10 d4, d6, d8, d10, d12, d20, or d100 dice and an optional −1000 to 1000 whole-number modifier. Each roll uses browser Web Crypto with rejection sampling and keeps up to 20 validated roll events in this browser.