Skip to main content

Dice Roller

Roll D4, D6, D8, D10, D12, or D20 dice. Choose quantity, see individual results and totals with roll history.

Reviewed by · Last reviewed

Using the Dice Roller

  1. Pick a die type from the D4, D6, D8, D10, D12, D20 buttons. Each corresponds to one of the five Platonic solids plus the pentagonal trapezohedron (D10) used in Dungeons and Dragons since first edition.
  2. Set the quantity, up to 10 dice of the selected type. The quantity control doubles as a compact pool builder for tabletop modifiers like 2d6+3 or 4d4.
  3. Hit Roll. Each die result is displayed individually with a pip-style visualisation where possible, and the total sum across the pool appears in a dedicated cell.
  4. Scan the history panel below the roll area. It retains your last 20 rolls so you can recap an encounter without writing anything down.
  5. Re-roll as often as you like. Each press draws fresh entropy; the previous results do not influence the next roll in any way.

What Each Die Is and How the Roll Is Generated

The five Platonic solids give you the four-sided tetrahedron (D4), the familiar six-sided cube (D6), the octahedron (D8), the dodecahedron (D12), and the twenty-sided icosahedron (D20). The D10 is a pentagonal trapezohedron - not a Platonic solid but a long-standing RPG convention because it neatly generates digits 0-9 (for percentile rolls with two D10s) or 1-10 in standard use. Percentile rolls (D100) are typically two D10s read together; the tool includes D10 directly and you can roll two at once for a 0-99 range.

Each individual die result comes from crypto.getRandomValues, the Web Crypto API's CSPRNG, with rejection sampling to map 32-bit unsigned integers into the 1-to-N face range without modulo bias. This is overkill for a tabletop game but avoids any risk of the bias you would see in a simple Math.floor(Math.random() * n) + 1, which - in addition to the predictability problem of Math.random() - can show sub-percent skews for odd face counts. Everything runs locally; no rolls are logged to a server or shared across devices.

Where a Digital Roller Earns Its Keep

  • Tabletop RPG sessions (D&D, Pathfinder, Starfinder, Shadowrun, Call of Cthulhu) when you have forgotten your dice bag.
  • Online play over Discord or Roll20 when you need an impartial roll that both players can trust.
  • Game masters generating random encounter tables, treasure drops, or reaction-roll modifiers on the fly.
  • Board games like Catan (2D6), Risk (up to 3D6 attacker vs. 2D6 defender), or Yahtzee (5D6).
  • Statistics lessons demonstrating the central limit theorem - roll 3d6 many times and watch the distribution become roughly normal.
  • Random decision-making where a coin is too binary and a 20-sided range feels right.

Common Situations and Edge Cases

  • Critical hits and misses. In D&D, a natural 20 on a D20 is a critical; a natural 1 is usually a miss or a fumble. The tool highlights these visually but does not apply modifiers - the rules logic belongs to your game.
  • Advantage and disadvantage. 5e's advantage is "roll 2d20, take the higher". Roll a pool of 2 and pick yourself; the tool does not auto-select.
  • Exploding dice. Some systems (Savage Worlds, Shadowrun) re-roll dice that show their maximum. The tool does not auto-explode; re-roll individually and add.
  • Percentile (D100). Pick D10 and quantity 2. Read one as tens and the other as ones, where 00+0 is 100 in most conventions.
  • Low-variance problems. 1d20 has a flat distribution; 3d6 is bell-shaped and much less swingy. Choose the die pool that matches the mechanics you want.
  • Dice superstition. Hot dice, cold dice, and curse-breaking rituals are real parts of tabletop culture but have no effect on the output; the CSPRNG does not care what happened on your last roll.

The Platonic Solids and Tabletop Tradition

Plato described the five regular convex polyhedra in the Timaeus around 360 BCE, associating each with a classical element. The geometric property that matters for dice is that every face is the same shape and every vertex is identical, so every face has the same probability in a fair roll. Gary Gygax and Dave Arneson introduced D&D in 1974 using the polyhedral set that TSR then popularised; the D10 was a commercial innovation of the late 1970s. Modern tournament dice are precision-milled and validated for balance; casino craps dice are sharp-edged and transparent to prevent tampering. A digital roller bypasses the fairness question entirely - the CSPRNG is provably uniform at a level no physical die can match - but loses the tactile pleasure that makes dice fun in the first place.

Physical Dice vs. Digital

Physical dice win for ceremony, social ritual, and the small but real probabilistic quirks that come from manufacturing tolerance (most cheap D20s have a subtle bias from the mould orientation). Apps like Roll20, Fantasy Grounds, Foundry VTT, and Discord bots such as Avrae integrate dice rolls into campaign tooling with macros and modifiers built in, which is better for a full remote session. The browser tool is the right pick when you want a quick, fair roll outside any campaign infrastructure - at a convention table without your bag, or to settle a decision mid-meeting without installing anything.

Frequently Asked Questions

Is the roll cryptographically random?

Yes. The tool uses <code>crypto.getRandomValues</code>, the Web Crypto API&apos;s CSPRNG, to draw entropy for every die. This is the same source you would use for session tokens or password salts, which is far more than a tabletop game needs. Physical dice have subtle biases from manufacturing (edge wear, mould seams, weight distribution); the digital roll has none of those.

Why is there a D10 if it is not a Platonic solid?

The D10 (pentagonal trapezohedron) entered gaming in the late 1970s to support percentile rolls: two D10s read together give 00-99. It is not one of the five Platonic solids because its faces are kites rather than regular polygons, but every face has the same area and the same spatial relationship to the rolling axis, so fairness is preserved. Every modern RPG dice set includes one.

Does the tool support custom dice notation like 3d6+2?

Not with an expression parser in the current build. Set the die to D6 and the quantity to 3, roll, and add 2 to the total shown. For more elaborate rollers that parse full D&amp;D notation, dedicated apps like Avrae, Roll20, or Dicepp are the right tool; the simplicity here is intentional.

Are my rolls sent to a server or shared?

No. The tool is a Preact island that generates every roll locally with the Web Crypto API. There is no logging to a campaign server, no PostHog event containing the results, and nothing written to storage after the tab closes. The history panel lives in component state only.

How does advantage work in D&amp;D 5e?

Advantage means &quot;roll two D20s and take the higher result&quot;. Disadvantage takes the lower. Set the die to D20 and the quantity to 2, look at both numbers, and pick the appropriate one. The tool does not auto-pick because the choice depends on rules context (critical hits, re-roll features, racial abilities) that the tool cannot know.

What is the probability distribution of 2d6?

A single D6 is uniform 1-6. Two D6s summed give a triangular distribution peaking at 7: probabilities for sums 2 through 12 are 1/36, 2/36, 3/36, 4/36, 5/36, 6/36, 5/36, 4/36, 3/36, 2/36, 1/36. This is why 7 is the most common result in Monopoly and why craps bets at 7 have specific odds. Three or more dice approach a normal distribution by the central limit theorem.

Can I roll a D100 directly?

The tool does not offer a single D100 button because most tabletop systems that use percentile rolls generate them from two D10s. Set the die to D10 and the quantity to 2; read one result as the tens digit and the other as the units digit, with 00+0 typically meaning 100. Some digital rollers offer a D100 directly; the effect is identical.

Why do physical dice sometimes feel biased?

Because they often are. Cheap moulded plastic dice have small air bubbles, sprue marks where they were cut from the mould, and uneven weight distributions that create tiny biases. Casino craps dice are precision-machined with sharp edges to minimise this; tournament RPG dice from manufacturers like Gamescience are also milled rather than moulded for the same reason. A digital CSPRNG-based roll has no such bias at any measurable level.

Does the history panel persist across page refreshes?

No, by design. The history panel holds the last 20 rolls in React state; a refresh or tab close discards them. This keeps the tool stateless and avoids persisting anything the user did not explicitly save. If you want a durable campaign log, copy the results out to a note-taking app.

How big can the quantity go?

10 dice per roll is the current cap, matching the largest practical pool in common systems (for example Shadowrun&apos;s dice pools can reach 10-plus but the roll is usually rerolled with modifiers, not a one-shot pile). If your system needs larger pools, roll twice and sum; the CSPRNG has unlimited entropy so there is no statistical downside to multiple rolls.

Can I export rolls for a session log?

The tool itself does not export, but you can select the history panel text and copy it, or screenshot the results area. For a timestamped campaign log, a VTT like Roll20 or Foundry is the right tool.

More Fun & Utility