# Dice Roller - d4 to d100, Notation Like 3d6+2, Advantage and Drop Lowest

Page: https://hirantha.me/tools/dice-roller
Part of: Hirantha Sandaruwan Lakshan free tools (https://hirantha.me/tools)
Updated: 2026-10-15

Roll up to 100 dice with 2 to 1000 sides, or type notation like 3d6+2, 2d20kh1 or 4d6dl1. See every die, the total and your history.

This is a free tool that runs in the browser: open the page to use it. File tools process files on the visitor's own device; files are never uploaded or stored. No account, sign-up, payment or watermark.

Roll from 1 to 100 dice with anywhere from 2 to 1,000 sides. Pick a common die (d4, d6, d8, d10, d12, d20 or d100) or type dice notation: 3d6+2 for three six-sided dice plus 2, 2d20kh1 for advantage, 4d6dl1 to drop the lowest die. You see every die, the total, the possible range and the average, and the last ten rolls are kept in a list.

Dice notation writes a roll as NdM: N dice with M sides each. So 3d6 is three six-sided dice and d20 is one twenty-sided die. A number after + or - is added or taken away, and you can add more groups of dice, as in 2d6+1d4+3. The letter d followed by % means a percentile die, the same as d100. Wikipedia describes this as the form used in most tabletop role-playing games.

Keep and drop codes go after a group of dice. kh keeps the highest dice, kl keeps the lowest, dh drops the highest and dl drops the lowest, each followed by how many (1 if you leave the number out). So 2d20kh1 rolls two d20 and keeps the higher one, which is advantage. 2d20kl1 keeps the lower one, which is disadvantage. 4d6dl1 rolls four d6 and drops the lowest. On their own, k means kh and d means dl, and Wikipedia's example 4d6dh1dl1 drops both the highest and the lowest. These codes follow Wikipedia's Dice notation article and the Foundry VTT dice modifiers guide. Dropped dice are crossed out and not counted. If two dice tie, the earlier one is kept or dropped first, which never changes the total.

Each die is drawn separately from crypto.getRandomValues with rejection sampling, so every face has exactly the same chance. For a six-sided die the tool uses a 32-bit random value: 4 of the 4,294,967,296 possible values are thrown away and redrawn, so that each face gets exactly 715,827,882 of them. The animation is only for show. The dice are rolled first and the numbers you see spinning are not the result. If your device asks for reduced motion, the result appears at once.

What you type is read by a small parser that understands only numbers, d, +, -, kh, kl, dh, dl, k and %. It never runs your text as code. It refuses more than 100 dice in total, dice with fewer than 2 or more than 1,000 sides, numbers above 1,000,000 and more than four keep or drop codes on one group, and it says which limit you passed. For plain rolls it also shows the exact average, and for small keep and drop rolls it works the average out by listing every outcome.

Two six-sided dice: all 36 outcomes grouped by total:
| Total | Ways (of 36) | Chance | Combinations (first die + second die) |
| --- | --- | --- | --- |
| 2 | 1 | 2.78% | 1+1 |
| 3 | 2 | 5.56% | 1+2, 2+1 |
| 4 | 3 | 8.33% | 1+3, 2+2, 3+1 |
| 5 | 4 | 11.11% | 1+4, 2+3, 3+2, 4+1 |
| 6 | 5 | 13.89% | 1+5, 2+4, 3+3, 4+2, 5+1 |
| 7 | 6 | 16.67% | 1+6, 2+5, 3+4, 4+3, 5+2, 6+1 |
| 8 | 5 | 13.89% | 2+6, 3+5, 4+4, 5+3, 6+2 |
| 9 | 4 | 11.11% | 3+6, 4+5, 5+4, 6+3 |
| 10 | 3 | 8.33% | 4+6, 5+5, 6+4 |
| 11 | 2 | 5.56% | 5+6, 6+5 |
| 12 | 1 | 2.78% | 6+6 |

Q: What does 3d6+2 mean?
A: Roll three six-sided dice, add the three faces together and add 2. The lowest result is 3 + 2 = 5, the highest is 18 + 2 = 20 and the average is 10.5 + 2 = 12.5. The number before the d is how many dice, the number after it is how many sides.

Q: What do kh, kl, dh and dl mean in dice notation?
A: kh keeps the highest dice, kl keeps the lowest, dh drops the highest and dl drops the lowest. A number after the code says how many, and it is 1 if you leave it out. So 4d6dl1 drops the lowest of four dice and 2d20kh1 keeps the higher of two.

Q: How does advantage work with 2d20kh1?
A: You roll two twenty-sided dice and keep the higher one. That lifts the average from 10.5 to 13.825 and the chance of at least one natural 20 from 5% to 9.75%, because 1 - (19/20)^2 = 39/400. Disadvantage, 2d20kl1, keeps the lower die instead.

Q: Are the dice rolls really fair?
A: Each die gets its own random value from your browser's secure generator, and values that would make some faces slightly more likely are thrown away and drawn again. Every face of every die has exactly the same chance. The result is chosen before the animation starts, so the animation cannot change it.

Q: What is the chance of rolling a 7 with two dice?
A: 6 in 36, which is 1 in 6 or 16.67%. The chance of a total p on two dice is (6 - |p - 7|) / 36, so 7 is the most likely total and 2 and 12 are the least likely at 1 in 36 each.

Q: How many dice can I roll at once?
A: Up to 100 dice in one roll, each with 2 to 1,000 sides. You can mix groups, for example 2d6+1d4+3, as long as the groups add up to 100 dice or fewer. A modifier can be any whole number up to 1,000,000.

Q: Can I roll a d100 or a percentile die?
A: Yes. Pick d100, type d100 or type d%. You get a single number from 1 to 100. Many tabletop games roll two ten-sided dice as tens and ones instead, which also gives a number from 1 to 100.

Q: Does a streak of low rolls make a high roll more likely?
A: No. Every roll is independent, so dice have no memory. Believing that a result is due after a run of the opposite result is called the gambler's fallacy.

Q: Can I use this for gambling or a game played for money?
A: No. The rolls are as fair as your browser's generator, but this page is not an approved, audited or licensed gaming device. For any game played for money or prizes, follow the rules of that game.

Sources: Dice notation - Wikipedia (https://en.wikipedia.org/wiki/Dice_notation); Dice modifiers (keep and drop) - Foundry Virtual Tabletop (https://foundryvtt.com/article/dice-modifiers/); Dice (probabilities of two-dice totals) - Wolfram MathWorld (https://mathworld.wolfram.com/Dice.html); Crypto: getRandomValues() method - MDN (https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues); Gambler's fallacy - Wikipedia (https://en.wikipedia.org/wiki/Gambler%27s_fallacy)

Related tools:

- [Coin flip](https://hirantha.me/tools/coin-flip.md): Flip a fair coin online: heads or tails with a running tally, a streak counter and up to 1,000 coins at once, from your browser's secure generator.
- [Random number generator](https://hirantha.me/tools/random-number-generator.md): Pick random whole numbers or decimals in any range, with or without repeats, drawn fairly from your browser's secure random number generator.
- [Random name picker](https://hirantha.me/tools/random-name-picker.md): Paste a list of names and pick one or more winners fairly, with optional extra chances, a spinning reveal, a history and winners removed after each draw.
- [Percentage calculator](https://hirantha.me/tools/percentage-calculator.md): Find X% of a number, what percent one number is of another, the whole from a part, or add and subtract a percentage, with the working shown.
- [Mean, median, mode and standard deviation calculator](https://hirantha.me/tools/statistics-calculator.md): Paste a list of numbers to get the mean, median, mode, range, quartiles, and sample and population variance and standard deviation.
