Dice Roller
Roll D4, D6, D8, D10, D12, D20, D100 or a custom die, several at a time, with modifiers, totals, highest and lowest.
Selections are generated locally in your browser using the Web Crypto API when available. The result is chosen before the animation starts, so how the animation looks can never change what is picked.
Loading the dice roller…
What is the Dice Roller?
A dice roller for tabletop games, board games and classrooms. Choose a die, choose how many, add a modifier, and roll. The result shows every individual die, the sum, the modifier and the total, with the highest and lowest highlighted — which is what you actually need at a table.
Custom dice go up to 10,000 sides for the unusual cases, and the roll log keeps your recent results so you can check what happened two turns ago.
How to use it
- Pick a die type, or choose Custom and set the number of sides.
- Set how many dice to roll and any modifier to add or subtract.
- Press Roll — or use the quick D4 to D100 buttons.
- Read the individual dice, the sum and the total.
- Copy or download the roll log if your game needs a record.
How the random selection works
Each die is rolled separately with its own rejection-sampled draw from crypto.getRandomValues(), so 4d6 is four genuinely independent rolls rather than one number split four ways. The modifier is applied to the total after every die has been rolled, and the shake animation runs after the values are known.
The full algorithm — including the rejection-sampling step and the wheel stop-angle calculation — is written out on the methodology page.
Practical examples
- Rolling 4d6 for character generation.
- Making a D20 attack roll with a +5 modifier.
- Rolling a D100 for a random encounter table.
- Using a D6 in a classroom probability lesson.
- Rolling a custom 30-sided die for a homemade board game.
Available options
- D4, D6, D8, D10, D12, D20, D100 and custom sides up to 10,000.
- Up to 100 dice at once.
- Positive or negative modifiers.
- Total, dice sum, highest and lowest.
- Roll log with copy and CSV export.
- Animation and sound toggles.
Privacy
Dice rolls contain nothing personal. Everything you type stays in this browser tab. There is no account, no upload step and no server-side copy of your list: the draw runs in JavaScript on your own device. Nothing is written to browser storage unless you explicitly save a list or tick the option to keep your draw history, and both can be cleared at any time from the privacy page.
Full details are in the privacy policy, which also has a button that deletes everything this site has stored in your browser.
Fairness and limitations
Each face of each die has exactly the same chance, and the rejection-sampling step means that is true even for awkward sizes like D100 where a naive approach would slightly favour lower numbers. This is a tool for games, teaching and simulation — it is not intended for, and is not suitable for, gambling or any activity where money is staked on the outcome.
Frequently asked questions
Are the dice fair for every size?
Yes. Rejection sampling removes the modulo bias that would otherwise make low faces marginally more likely on sizes that do not divide evenly into 2³².
Can I roll different dice together, like 2d6 + 1d8?
Not in a single press. Roll each group separately and add the totals, or use a custom size if you need something unusual.
What does the modifier do?
It is added to the total after all dice are rolled. Enter a negative number to subtract.
Can I use this for gambling?
No. This site has no betting features and is not intended for gambling in any form.