Skip to content

Dice Roller

Roll d4, d6, d8, d10, d12, d20, d100 or a custom die, up to 100 at once, with a modifier. Type dice notation such as 3d6+2 or 2d20kh1.

Ready to roll 2d6

Press Roll to roll 2d6. Totals range from 2 to 12.

Dice are rolled in your browser with crypto.getRandomValues.

Set up the roll with
Die

Roll history (0 rolls)

The last 50 rolls are kept in this page's memory only. Reloading or closing the page clears them. Dice in brackets were dropped by kh or kl.

01 · Definition

What is a dice roller?

A dice roller simulates throwing dice: for each die it picks a whole number from 1 to the number of sides, with every face equally likely, then adds the dice and any modifier. Dice notation writes a roll as NdS+M, so 3d6+2 means three six-sided dice plus 2.

02 · Overview

How the Dice Roller works

Pick a die from d4 to d100 or set any number of sides from 2 to 1,000, choose 1 to 100 dice and an optional modifier, and roll. Or type dice notation: NdS groups joined with + or -, whole-number modifiers, and kh or kl to keep the highest or lowest dice, as in 2d20kh1+5 or 4d6kh3. Each die is shown (six-sided dice as pips), with dropped dice marked, the sum of the dice, the modifier and the total. Notation that cannot be read gets a specific error. Rolls are unbiased draws from crypto.getRandomValues, and the last 50 rolls are listed in a history kept in the page's memory.

03 · Guide

Probability of each total on 2d6

Two six-sided dice can land in 6 × 6 = 36 equally likely ways. Seven is the most common total because six of those ways add up to it; 2 and 12 have one way each. The table counts the ways for each total by listing all 36 outcomes with a script.

TotalWaysProbability
212.78%
325.56%
438.33%
5411.11%
6513.89%
7616.67%
8513.89%
9411.11%
1038.33%
1125.56%
1212.78%
2d6: ways to roll each total, out of 36

04 · Guide

Minimum, maximum and average of common rolls

The average of one die with S sides is (S + 1) / 2, and averages add, so 3d6 averages 3 × 3.5 = 10.5. Keeping the highest or lowest dice changes that. The averages for 4d6kh3, 2d20kh1 and 2d20kl1 below were computed by a script that lists every possible outcome (1,296 for four d6, 400 for two d20) and runs it through the tool's own keep rule.

Rolling two d20 and keeping the higher raises the chance of a 20 from 5% to 9.75% (39 of 400 outcomes) and the chance of 15 or more from 30% to 51% (204 of 400).

RollMinMaxAverage
1d4142.5
1d6163.5
1d8184.5
1d101105.5
1d121126.5
1d2012010.5
1d100110050.5
2d62127
3d631810.5
4d6kh331812.24
2d20kh112013.825
2d20kl11207.175
Range and average by roll

05 · Use cases

When to use the Dice Roller

  1. 01

    Roll attack, damage and saving throws for a tabletop game

  2. 02

    Replace missing dice for a board game

  3. 03

    Roll 4d6 and keep the highest three for character ability scores

  4. 04

    Pick a number from 1 to N by rolling one custom die with N sides

06 · Examples

Dice Roller examples

3d6+2

ex 01

3d6+2: [6, 5, 5] + 2 = 18

Three six-sided dice sum to 16, and the modifier brings the total to 18. Possible totals run from 5 to 20.

2d20kh1+5

ex 02

2d20kh1+5: [18, (4)] + 5 = 23

Two d20, keeping the higher. The 4 in brackets was dropped, so the total is 18 + 5.

4d6kh3

ex 03

4d6kh3: [6, (1), 3, 2] = 11

Four d6 with the lowest die dropped: 6 + 3 + 2. This is a common way to roll character ability scores.

2d6+1d8-1

ex 04

2d6+1d8-1: [2, 1] + [4] - 1 = 6

Two groups of different dice and a negative modifier in one roll.

07 · FAQ

Dice: frequently asked questions

Are the rolls really random?

Each die is a whole number from 1 to its number of sides, drawn from crypto.getRandomValues, the browser's cryptographic random source. Draws that would make some faces slightly more likely are discarded and redrawn (rejection sampling), so every face has exactly the same chance. In a test of 600,000 d6 rolls each face came up between 99,689 and 100,476 times.

What dice notation is supported?

NdS rolls N dice with S sides; N defaults to 1 and d% means d100. Add khK or klK to keep the K highest or lowest dice of a group (K defaults to 1, and k alone means kh). Join groups and whole numbers with + or -, as in 2d6+1d8-1. Multiplication, exploding dice, rerolls and brackets are not supported, and the tool says so instead of guessing.

How do I roll with advantage or disadvantage?

Switch to dice notation and type 2d20kh1 for advantage (keep the higher of two d20) or 2d20kl1 for disadvantage. Add a modifier at the end, as in 2d20kh1+5. The dropped die is shown struck through. Advantage lifts the average roll from 10.5 to 13.825; disadvantage lowers it to 7.175.

What are the limits?

A roll can have up to 100 dice across all groups, each with 2 to 1,000 sides, and a modifier between -1,000,000 and 1,000,000. A value outside these limits produces an error message next to the field, and the tool does not silently change it.

How is d100 rolled?

It is a single draw from 1 to 100, with each value equally likely. That has the same distribution as rolling two ten-sided percentile dice for the tens and the units and reading 00 as 100.

Is my roll history saved?

It is kept only in the page's memory. The last 50 rolls are listed under the roller so you can check an earlier result, and they are cleared when you reload or close the page or press Clear history. Rolls are made in your browser and are not sent to our server. The page loads analytics that record page views and button use, not the numbers rolled.

08 · Reference

Specs and further reading

These are the primary sources this tool follows. Where a specification defines the behaviour, we link the specification, not a summary of it.

  • Web Cryptography API: the getRandomValues method

    W3C. The specification of the browser's source of cryptographically strong random values that every die is drawn from.

  • Crypto.getRandomValues()

    MDN Web Docs. Usage notes and browser support for the same method.

  • Dice notation

    Wikipedia. Overview of the NdS+M convention, percentile dice (d%) and the kh / kl keep suffixes. There is no formal standard; this tool implements the subset described on this page.

09 · More

Tools that pair with Dice

Last updated .