Dice roller

Roll anything from a d4 to a d100, several at once, with a modifier. Every die shows its own face, and the history stays put between visits.

What are you rolling?

Rolling 1d20

Result

Roll the dice and the result will appear here.

How it works

Each die is rolled independently, and each face is drawn as a whole number from one to the number of sides, inclusive at both ends. That last part sounds obvious and is the most common way a dice roller goes quietly wrong: a d6 that can never show a six is off by a sixth on every roll, and nobody notices because the results still look like dice.

The randomness comes from crypto.getRandomValues, your browser's built-in generator, with rejection sampling so the numbers are evenly spread rather than merely close. A d100 is the case where sloppiness shows: a hundred does not divide evenly into the generator's range, so simply taking a remainder would make the low numbers very slightly more common. Discarding the leftover block and drawing again costs nothing and removes the skew entirely.

Why the individual faces are shown

Rolling 4d6 is very often the first half of something else — drop the lowest, count the sixes, check whether any die came up one. A tool that reports only a total has thrown away the part you were about to use. The total is shown large because it is usually what you want, and every face is listed underneath because sometimes it is not.

Being straight about what this adds

Search for a dice roller and Google will roll dice for you in the results page itself: four through twenty sides, several at once, with a modifier and a running total. That covers most of what most people need, and pretending otherwise would be silly. This page is worth opening for three specific reasons and no others.

Worked examples

Rolling a character

Set it to 4d6, roll six times, and read the faces rather than the totals so you can drop the lowest die each time. The history keeps all six rolls in order, so you can copy them into a character sheet afterwards instead of writing them down as you go.

A percentile check

Set the sides to a hundred and roll. This is the one thing the inline widget cannot do, and it is why most people who need a dice roller at all end up opening a page.

An attack with a bonus

1d20+5: put five in the modifier and the notation updates to match. The result shows the total large, and underneath it tells you what the die itself did — which matters when a natural twenty or a natural one means something beyond the arithmetic.

Settling something with a big number

Roll 10d10 when you want a spread rather than a single value, or when several people each need a number at once and you would rather not roll ten times.

Questions people actually ask

Are the dice fair?

Yes, and the method is written down above rather than asserted. Every face of every die is equally likely, the generator is your browser's cryptographic one, and the remainder skew that affects naive implementations is removed by rejection sampling.

I have rolled three ones in a row. Am I due a twenty?

No. Every roll is completely independent of every roll before it, so a run of low numbers changes nothing at all about what comes next. The history here is a record of what happened, not a hint about what is coming — and any tool that suggests otherwise is telling you something untrue.

Is my history sent anywhere?

No. Rolling happens inside your browser and the history is stored on your own device using your browser's local storage. Nothing is uploaded and no server here ever sees a roll.

How many rolls are kept?

The most recent two hundred. Older rolls fall off the end rather than the page growing without limit. If you need to keep them, copy the history out as text before it fills up.

Limitations, stated plainly

Related tools