Dice Roller — Fair RPG Dice, d4 to d100
Roll any standard RPG die — d4 through d100 — with modifiers, full dice notation (3d6+2, 2d20kh1), and one-tap advantage/disadvantage. Every roll uses your browser's cryptographic random generator with rejection sampling, so the dice are provably fair.
Use Cases
How to roll dice online with RPG notation
Tap d4–d100, set how many dice (1–20), and an optional +/− modifier — or skip straight to notation.
Enter expressions like 3d6+2, d20, 4d6kh3 (keep highest 3), or 2d20kl1 and press Enter.
The Advantage and Disadvantage buttons roll 2d20 and keep the higher or lower die — dropped dice show struck out.
The last 20 rolls stay in the history panel with per-die results; tap re-roll to repeat any of them.
Frequently Asked Questions
- Are the rolls actually fair?
- Yes. Rolls come from crypto.getRandomValues — the browser's cryptographic RNG — with rejection sampling to remove modulo bias, so every face is exactly equally likely.
- What is modulo bias and why does rejection sampling matter?
- Mapping a random 32-bit number onto a die with plain remainder math makes low faces very slightly more likely. Rejection sampling discards the uneven tail of the range first, so the mapping is perfectly uniform.
- What notation is supported?
- NdS with an optional keep and modifier: 3d6+2, d20, 2d20kh1 (keep highest), 2d20kl1 (keep lowest), 4d6kh3-1. Up to 100 dice with 2–1000 sides.
- How do advantage and disadvantage work?
- D&D 5e style: roll 2d20 and keep the higher (advantage) or lower (disadvantage) die. Both dice are shown; the dropped one is struck out.
- How do I roll ability scores?
- Type 4d6kh3 — roll four d6 and keep the highest three — and re-roll it six times from history.
- Is my roll history stored anywhere?
- Only in memory on the page. Refreshing clears it; nothing is sent to a server.
Dice math cheat sheet: averages and odds
Knowing the expected value of a roll helps you judge builds, damage spells, and house rules at the table. A fair die averages (faces + 1) / 2, sums of dice add their averages, and advantage is worth roughly +3.3 on a d20 check.
| Roll | Average | Range | Worth knowing |
|---|---|---|---|
| d20 | 10.5 | 1–20 | 5% chance of a nat 20 (or a nat 1) |
| d20 advantage | 13.82 | 1–20 | ≈ +3.3 vs a flat roll; nat-20 chance rises to 9.75% |
| d20 disadvantage | 7.18 | 1–20 | Nat-20 chance drops to 0.25% |
| 3d6 | 10.5 | 3–18 | Bell curve — 10 or 11 comes up ~12.5% each; extremes are rare |
| 4d6kh3 | 12.24 | 3–18 | The classic ability-score method; average score ≈ 12–13 |
| 2d6 | 7 | 2–12 | 7 is six times more likely than 2 or 12 |
- Sums of multiple dice form a bell curve: 3d6 and 1d20 share a similar range, but 3d6 clusters hard around 10–11 while a d20 is flat — that is why some tables swap them to reduce swinginess.
- Advantage matters most on mid-range targets: against a DC needing an 11, it boosts success from 50% to 75%; against near-certain or near-impossible rolls, it barely moves the odds.
Private by design. Rolls are generated entirely in your browser with its cryptographic random generator — roll history stays in memory and nothing is sent to a server.