Dice Roller 🎲

Roll virtual dice with custom sides and count. Supports D4, D6, D8, D10, D12, D20, and custom dice.

About the Dice Roller

The Dice Roller runs entirely in your browser. Pick a dice type (D4, D6, D8, D10, D12, D20, D100, or custom sides), choose how many dice to roll, and click Roll. Results use crypto.getRandomValues for cryptographically secure randomness. A short animation cycles random numbers before settling on the final values. Nothing is uploaded to a server — everything happens locally with JavaScript on your device.

Features

  • Standard dice — D4, D6, D8, D10, D12, D20, D100.
  • Custom dice — Set any number of sides from 2 to 1000.
  • Multiple dice — Roll up to 20 dice at once.
  • Roll animation — Numbers cycle for ~500ms before settling.
  • History & stats — Last 20 rolls with sum, average, min, and max.
  • Cryptographically secure — Uses crypto.getRandomValues for randomness.

How to use the dice roller

  1. Pick a dice type from the dropdown, or choose Custom and enter the number of sides.
  2. Set how many dice you want to roll (1–20).
  3. Click Roll — the animation plays, then the final results appear.
  4. Review the history and statistics below. Click Clear History to start fresh.

Frequently asked questions

Is the randomness truly random? The dice use crypto.getRandomValues, the browser's cryptographically secure random source. It is far more reliable than Math.random() for fair rolls.

Can I roll mixed dice (e.g. one D6 and one D20)? Not in a single roll. Roll each type separately. You can review both in the history.

How is the average calculated? The average is the mean of all individual die values across the last 20 rolls, not the mean of roll totals.

Does this tool upload anything? No. All rolls happen locally in your browser. No data ever leaves your device.