Dice Roller

No upload · runs in your browser
Quick roll

Faces are drawn from your own device’s cryptographic generator, nothing is uploaded.

How it works

Dice Roller for 3d6+2 Notation and Quick d20 Rolls

Roll anything from a single d20 to 2d6+1d8+3. Every individual die face is shown alongside the total, with a history and running total for the session.

What this does
  • Notation with as many terms as you need, including negative ones like 2d20-1
  • Quick buttons for d4 through d100, plus a coin flip
  • Every individual face listed, with a natural maximum picked out in colour
  • Roll history holding the last 60 rolls, clearable in one press
  • Session stats for rolls, running total, dice thrown and average roll
  • Limits of 200 dice per term and d1000, reported as an error rather than silently capped
  • Faces drawn from crypto.getRandomValues with the biased tail rejected
FAQ

Each face comes from crypto.getRandomValues rather than Math.random. A 32-bit draw does not divide evenly into most die sizes, so the values in the unusable top of the range, the ones that would make low faces slightly more likely, are thrown away and redrawn instead of being folded back down. That removes the modulo bias, and no seed carries between rolls for an earlier result to give away. On a d20 the bias it eliminates is tiny; the reason to do it is that there is no cost to doing it properly.

Keep going