Dice Roller

Roll D4-D100 dice online with totals and history.

Roll 1–10 dice at once

Number of faces per die

Roll 1–20 times in a row

How to use

  1. Set the dice count (1–10), the die type (D4–D100) and how many times to roll (1–20).
  2. Press "Roll": the numbers come from the browser's cryptographic random source (crypto.getRandomValues), so every face is equally likely.
  3. The result area shows the latest roll's total, the sequence of each die and each roll's sum; with multiple rolls you also get the grand total.
  4. The history keeps the last 10 rolls with time, die type and dice sequence; "Clear history" removes them in one click.
  5. Use it for board games, tabletop RPGs, classroom sampling or everyday decisions: everything runs locally.

FAQ

Are the dice results really random?
Yes. Each value is derived from a 32-bit integer produced by window.crypto.getRandomValues, with rejection sampling used to remove modulo bias: the browser's cryptographic random source, stronger than Math.random.
How many dice can I roll at once?
Up to 10 dice per roll and up to 20 rolls in a row: for example "10D6 × 20" produces 200 values in one click, grouped and summed automatically.
How does D100 work?
D100 generates one integer from 1 to 100 directly, equivalent to combining a percentile die with a tens die in tabletop RPGs: no manual pairing needed.
Is the history uploaded anywhere?
No. The history lives only in the current page's memory and disappears when you refresh or close the tab; nothing is sent to a server or written to local storage.

How to use

  1. Configure the dice

    Set dice count between 1 and 10, pick a die type from D4/D6/D8/D10/D12/D20/D100, and set roll count from 1 to 20. For example, 10D6 rolled 20 times.

  2. Press Roll to throw

    One click completes every roll. Each face is drawn from the browser's cryptographic random source with rejection sampling, so all faces stay equally likely.

  3. Read totals and details

    The big figure shows the latest roll's total. Below it, every die's face and each roll's sum are listed, with a grand total across multiple rolls.

  4. Review the history

    The history keeps the last 10 rolls with time, die type and dice sequence. It is handy for replaying a game night or double-checking a sampling exercise.

  5. Clear for a new session

    Press Clear history to wipe the log before a new game or experiment. Then adjust dice count and type and roll again.

About this tool

This dice roller covers D4 through D100, rolling up to ten dice at a time for up to 20 consecutive rolls. Totals are automatic, and the history keeps the last ten rolls. Faces come from the browser's cryptographic random source, and rejection sampling removes modulo bias. Every face is exactly equally likely, fairer than many worn physical dice. No server takes part at any point.

It fits tabletop sessions missing their dice. A 10D6 x 20 combo is tedious to roll by hand, while the tool returns every face and the grand total at once. It also suits classroom probability demos, prize draws and everyday decisions. D100 produces 1-100 directly, standing in for a percentile-and-tens die pair with no manual matching.

How it works

Mapping a random byte onto six faces by modulo is subtly unfair. A byte holds 256 values, which leaves a remainder of four, so the first faces take a sliver more probability. Rejection sampling discards the values from 252 upward and redraws, restoring exactly one-sixth per face. Tabletop tables argue about loaded dice constantly. This implementation answers the question cleanly: every face is mathematically identical, fairer than any worn physical die. All of it runs locally, so the draw can be checked in public at any time. If someone doubts the odds, open the history and count how often each face appeared.

Summing dice is not the same as one big die. Two six-sided dice roll a 7 with probability one-sixth, while a single twelve-sided die lands on 7 once in twelve. The sum's distribution bell-curves toward the middle. That asymmetry is why designers choose between 2D6 and 1D12. Reading the history alongside the per-die breakdown shows how rarely extremes arrive. That builds intuition for the shape of the curve faster than any formula on a slide.

When to use it

  1. Tabletop emergency

    Dice missing at game night? Configure die type, count and rolls on a phone and produce the whole round in one click. Let the DM read the history to verify the totals without argument.

  2. Teaching probability live

    Roll 2D6 twenty times in front of a class and the bell-shaped distribution of sums emerges from the per-die breakdown. No chart is needed, and rerolling after class lets students try their own hypotheses.

  3. Everyday decisions and raffles

    Settle lunch debates with a single D6, or assign family raffle entries to a range and roll for the winner. The history keeps a timestamped record, which keeps the draw feeling fair.

Tips & tricks

  • D100 outputs 1-100 directly, so tabletop groups no longer need two dice to assemble a percentile result.
  • History lives only in the current page's memory and clears on refresh. Note important results down as you go.
  • The full face sequence for every die is shown, which makes it easy to sanity-check how even the distribution is.

Things to watch

  • History is ephemeral

    The log keeps only the last ten rolls inside page memory, and a refresh wipes it. For draws or sessions that need evidence, jot the important results down before pressing Clear history.

  • Count and roll caps

    Ten dice per throw and twenty throws per session are interface limits, not randomness limits. For larger sampling exercises, run several batches and use the grand total to reconcile the count.

  • D100 differs from percentile dice

    This D100 emits 1-100 uniformly. Two ten-sided percentile dice assemble 00-90 plus ones with their own boundary convention. Agree on one method before mixing, or results will be disputed.

Related Tools