2026topopentools

Dice Roller

Roll virtual dice for board games, tabletop RPGs, or quick decisions. Pick a standard die or a custom one, roll up to 20 at a time, add a modifier, and see every result plus the total — generated fairly in your browser.

Die type

Each roll uses the cryptographically strong crypto.getRandomValues API for a fair, unbiased result — nothing is sent to any server.

Understanding the Dice Roller

The Dice Roller is a fast, fair virtual dice tool for tabletop RPGs, board games, classrooms, and quick decisions. Tap a standard polyhedral die — d4, d6, d8, d10, d12, d20 or d100 — or type any custom side count from 2 to 1,000. Roll up to 20 dice at once and add an optional modifier such as +2 or -1 to the total, perfect for notations like 3d6 or 2d20+5. Every result is shown individually, alongside the combined total and a running history of your last ten rolls. It runs entirely in your browser with no installs, accounts, or data sent anywhere.

How it works

Each die is rolled with the browser's built-in crypto.getRandomValues API, which produces cryptographically strong random values rather than the weaker Math.random(). For a chosen side count, the tool maps a random 32-bit integer onto the faces with 1 + (value mod sides). To keep every face perfectly equal, it discards the small leftover range at the top of the 32-bit space that would otherwise bias low faces — a technique called rejection sampling. Once all dice are rolled, their values are summed and any modifier is added to produce the total. Results, the total, and a ten-roll history update instantly, with a brief flash so each roll feels responsive.

Single die: result = 1 + (random integer mod sides), using rejection sampling so each face is equally likely. Total = (sum of all dice rolled) + modifier. Example notation NdS+M means roll N dice of S sides and add modifier M, e.g. 3d6+2.

Worked example

Suppose you are playing a tabletop RPG and need to roll 3d6+2 for damage. Select d6, set the number of dice to 3, and enter a modifier of 2. After rolling you might see individual dice of 4, 1, and 5, which sum to 10. Adding the +2 modifier gives a total of 12. The three pip faces, the dice sum, the modifier, and the final total of 12 all appear at once, and the roll is saved to your history so you can compare it with later attempts.

Tips & common mistakes

  • Use the custom sides field for unusual dice like a d3, d7, or d30 — anything from 2 to 1,000 sides.
  • Add a modifier (for example +2 or -1) to model bonuses and penalties without doing the math yourself.
  • Roll several dice at once (up to 20) for stat rolls or damage, such as 4d6 or 8d10.
  • Check the roll history to compare recent results or settle disputes about what was rolled.
  • Click Roll again to re-roll the same dice setup instantly without changing your inputs.
  • Because rolls use the crypto API with bias correction, results are fair enough for games and contests — no physical dice or server needed.

Related tools

How to Use This Dice Roller

  1. 1Tap a die type (d4–d100) or enter custom sides.
  2. 2Choose how many dice and an optional modifier.
  3. 3Hit Roll to see each die, the total, and your recent history.

Frequently Asked Questions

Is the roll truly random?

Yes. Every die is rolled with your browser’s built-in crypto.getRandomValues API, which produces cryptographically strong random values. The tool also rejects the small unfair tail of those values so each face has exactly equal odds — far fairer than a typical Math.random() roller.

Which dice are supported?

All the standard polyhedral dice are one tap away: d4, d6, d8, d10, d12, d20 and d100. Need something unusual like a d30 or d7? Type any value from 2 up to 1,000 sides into the custom field and roll that instead.

Can I roll multiple dice at once?

Absolutely. Set the “Number of dice” field to anything from 1 to 20 and every die is rolled together. You’ll see each individual result, the combined total, and an optional modifier added on top — handy for tabletop games like 3d6 or 2d20+5.