Dice Roller

Roll virtual dice instantly with advanced game modes, animated effects, custom dice combinations, and realistic randomization.

Today's lucky D20 roll is 13 — deterministic for 2026-5-26.

Roll any number of D4–D100 dice with an optional +/- modifier.

Quick select

Up to 50 dice

Added to the total

Secure (crypto.getRandomValues) Silent

Dice and Randomness, Explained

What is a dice roller?

A dice roller is a tool — physical or virtual — that produces a uniformly random face value from a die of any size. A standard six-sided die rolled on a flat surface is the historical baseline; an online dice roller simulates the same outcome by drawing each face from a cryptographically secure random number generator (CSPRNG). Modern virtual rollers like this one cover not only D6 but also the seven polyhedral dice used in tabletop roleplaying — D4, D6, D8, D10, D12, D20, and D100 — and they support multi-dice rolls, modifiers, advantage/disadvantage, exploding dice, and custom labelled dice that no physical die can replicate.

How random dice rolling actually works

Every roll on this page calls window.crypto.getRandomValues — the browser API that exposes the operating system's cryptographically secure PRNG. The kernel collects entropy from hardware noise (CPU jitter, mouse and keyboard timings, on-chip thermal sources) and seeds a CSPRNG whose output is computationally indistinguishable from true randomness. To turn that into a fair face value, the tool draws a 32-bit integer and uses rejection sampling: any draw above the largest multiple of the die's number of sides is discarded and redrawn, which eliminates the small modulo bias that a naïve `value % sides + 1` would introduce.

Probability in dice games

A single fair die produces a uniform distribution — each face has probability 1/N. The moment you sum two or more dice the distribution becomes triangular and then bell-shaped: 2d6 peaks at 7 (probability 6/36) and tails off to 2 and 12 (1/36 each). For XdY the expected total is X × (Y+1)/2 and the variance is X × (Y²−1)/12. These two formulas plus the central limit theorem explain almost every dice-game design choice you have ever seen — from Monopoly's two dice (peaking at 7) to Catan's resource-blocking 7 to D&D's 4d6-drop-lowest stat generation that biases upward.

Dice notation explained

Dice notation is the shorthand tabletop gamers use: XdY+Z means 'roll X dice with Y sides each and add Z'. So 2d6+3 means roll two six-sided dice and add three — a result of 5 to 15. You can chain terms — 1d20+2d6+3 rolls a D20, two D6s, and adds three — and you can subtract — 1d20-1 takes one off a D20 roll. This roller's Notation Parser mode accepts the standard form (XdY, XdY+Z, XdY-Z) and combinations, and prints the per-die breakdown next to the total so you can audit every roll.

Dice in roleplaying games

D&D fifth edition revolves around the D20: every attack, ability check, and saving throw rolls one D20, adds an ability modifier and proficiency bonus, and compares the total to a target DC or AC. Damage is rolled separately on smaller dice — a longsword is 1d8, a greatsword is 2d6, a fireball is 8d6. Pathfinder, Starfinder, Call of Cthulhu, Shadowrun, FATE, Powered by the Apocalypse, and Numenera each use a different dice mechanic, but every one of them assumes uniform fair dice. This roller's RPG Combat mode rolls attack and damage in one click, doubles damage dice on a natural 20 (the standard 5e critical-hit rule), and flags natural 1s as automatic misses.

Dice in board games

Most modern board games rely on dice for resource generation (Catan, Machi Koro), movement (Monopoly, Backgammon), combat resolution (Risk, Memoir '44), action selection (Roll Player, Dice Forge), and yes/no resolution (Pandemic's outbreaks). Designers tune the dice — number, sides, and modifiers — to shape the game's variance curve: 2d6 gives a predictable bell curve, three D6 keep-highest skews toward big numbers, and exploding dice (re-roll on max) produce a long-tailed distribution that turns the occasional roll into a game-defining moment.

Fairness in random rolling

A fair dice roller has three properties: every face has equal probability (uniform), the algorithm is documented (transparent), and the result is reproducible from a recorded seed if needed (auditable). This tool meets all three — every roll is a CSPRNG draw with rejection sampling for uniformity, the algorithm is described above, and the export button produces a CSV with timestamps that doubles as proof of the rolls. The on-page Statistical Fairness gauge computes a live chi-square score from your last 100+ rolls, so you can visually confirm the dice are behaving uniformly over the course of a session.

Virtual dice vs physical dice

A well-balanced physical die rolled on a flat hard surface is statistically fair, but everyday dice are not perfectly balanced — cheap injection-moulded dice can show face biases of 1–3% because the pip cavities make some faces lighter than others. Casino dice are precision-cut to within 0.0005 inches for this reason. A virtual dice roller built on a CSPRNG bypasses the physical-balance problem entirely: every face has identical probability by construction, the result is delivered instantly, and there is no risk of cocked dice, dice fudging, or accidentally knocking the die off the table mid-roll.

Statistical randomness explained

A sequence is 'statistically random' if it passes the standard randomness test suites — DIEHARD, NIST SP 800-22, and TestU01 — which check that long sequences look indistinguishable from independent uniform draws across hundreds of structural tests. Modern CSPRNGs (Fortuna, ChaCha20, AES-CTR-DRBG) pass every battery, which is why this roller is statistically fair for every practical use including RPGs, board games, classroom selection, and party games. For regulated gambling you still need a certified RNG service with an audit certificate; this tool is not such a service.

Common dice game mechanics

A handful of mechanics show up across dozens of games: roll-and-keep (roll N dice, keep the top K — used in 7th Sea, Legend of the Five Rings, and Burning Wheel), advantage/disadvantage (5e — roll twice, keep high/low), exploding dice (every max face re-rolls and adds — Savage Worlds, Risus, FATE), success counting (count dice over a threshold — World of Darkness, Shadowrun), target threshold (beat a difficulty number — every d20 system), and dice pool subtraction (compare two pools — Champions, GURPS). This roller covers the most-used mechanics natively and the Custom Dice Builder lets you prototype anything else by labelling faces and weighting probabilities.

Roller Modes at a Glance

🎲

Standard Roll

Roll any number of D4–D100 dice with an optional +/- modifier.

⚔️

Advantage / Disadvantage

Roll twice and keep the higher (advantage) or lower (disadvantage) — the 5e mechanic.

💥

Exploding Dice

Roll a max face and roll again — every explosion adds to the total.

🎯

Critical Hit Detector

Roll D20 and watch for natural 20s (crit) and natural 1s (fumble).

🛡️

RPG Combat

Attack + damage in one click — set attack notation, damage notation, and AC.

🧮

Dice Notation Parser

Type any expression like 2d6+3, 1d20-1, 4d8+2 and roll it instantly.

🪄

Custom Dice Builder

Design your own die — 2 to 100 sides, custom labels, weighted probabilities.

📊

Probability Experiment

Roll thousands of times and compare the empirical distribution to the theoretical curve.

Built on the browser's cryptographically secure random generator — every roll is statistically fair.

Powered by window.crypto.getRandomValues with rejection sampling. See our methodology and editorial policy. Suitable for tabletop RPGs, board games, classrooms, and party games — not certified for regulated gambling.

Frequently Asked Questions

A dice roller is an online tool that simulates rolling physical dice — generating a random face value for one or many dice of any size (D4, D6, D8, D10, D12, D20, D100) on demand. This dice roller draws every face from window.crypto.getRandomValues, the browser's cryptographically secure random source, so each face has exactly the same probability as a fair physical die. It supports tabletop favourites like Dungeons & Dragons (1d20 attack rolls, 2d6 damage, 4d6-drop-lowest for stats), board-game classics (Yahtzee 5d6, Monopoly 2d6), and custom dice with your own labels and weights.

They are cryptographically random, which for tabletop, classroom, party, and casual gaming use is statistically indistinguishable from a fair physical roll. Every roll calls window.crypto.getRandomValues — the same source the browser uses for TLS session keys — and rejection sampling removes the small modulo bias a naïve `Math.random() * sides` would otherwise leave. Math.random is not used anywhere in this tool. For high-stakes regulated gambling you still need a certified RNG service, but for D&D, Pathfinder, Catan, classroom decisions, and party games, this is as fair as a hand-rolled die.

D20 means a twenty-sided die — a regular icosahedron with faces numbered 1 to 20. It is the signature die of the d20 System used by Dungeons & Dragons fifth edition, Pathfinder, Starfinder, and most modern d20-based RPGs. A natural 20 (rolling exactly 20 on a D20) is an automatic critical hit on an attack roll, and a natural 1 is an automatic miss or fumble. D4, D6, D8, D10, D12, and D100 follow the same naming convention — the number after the D is the number of sides.

Yes. Set the dice count to any value up to 50 and the roller drops them all in a single animated bounce. Each die is rolled independently with its own crypto-secure draw, so the result is statistically identical to scooping 50 physical dice and dropping them on the table. The result card shows every face, the total (with optional + / − modifier), highest, lowest, mean, and a frequency distribution. RPG combat mode and dice notation mode both support multi-dice rolls — type `4d6+2` and you get four six-sided dice rolled, summed, plus two.

Dice notation is the shorthand tabletop gamers use to describe a roll: `XdY+Z`. X is how many dice to roll, Y is the number of sides on each die, and Z is a fixed modifier added to (or subtracted from) the total. So `2d6+3` means roll two six-sided dice and add three — a result of 5 to 15. `1d20-1` means roll one twenty-sided die and subtract one. `4d8` means roll four eight-sided dice with no modifier. Switch the roller to Dice Notation mode and type any notation directly — the parser handles `XdY`, `XdY+Z`, and `XdY-Z` instantly.

Advantage and disadvantage are a fifth-edition Dungeons & Dragons mechanic for situational rolls. Advantage means roll the die twice and take the higher result — used when a character has a tactical edge (flanking, surprise, helpful magic). Disadvantage means roll twice and take the lower — used when something hinders the roll (poor visibility, restraint, exhaustion). Switch the roller to Advantage / Disadvantage mode and it shows both dice, highlights the kept result, and tells you the swing the mechanic produced (advantage on a d20 raises your expected value from 10.5 to about 13.83).

Yes. The Custom Dice Builder lets you define any die with 2 to 100 sides, replace the face numbers with your own labels (Yes / No / Maybe, Treasure / Trap / Empty, Pizza / Sushi / Burgers / Tacos), and optionally weight each face so it appears more or less often than uniform — useful for prototyping board-game mechanics, custom party games, or weighted decision-making dice. Every custom die is still rolled with crypto.getRandomValues; the weighting is implemented through inverse-CDF sampling, which is the standard technique for unbiased weighted draws.

Yes. Every face is drawn from window.crypto.getRandomValues, the cryptographically secure pseudorandom generator built into modern browsers, with rejection sampling to eliminate the modulo bias that naïve `Math.random() * sides` introduces — the same technique professional simulation libraries use. The output is verifiably uniform: in a few thousand D20 rolls you will see each face appear roughly 5% of the time, and the on-page Statistical Fairness panel computes a live chi-square fairness score and frequency heatmap so you can audit your own session. The animation, bounce, and glow are purely visual; the result is locked in the moment you click Roll.

Yes — RPG Combat mode is the central use case. Type any dice notation (`1d20+5`, `4d6+2`, `2d8`), pick advantage or disadvantage from the dropdown, and the roller handles the attack roll, damage roll, ability check, or saving throw in a single click. Critical-hit detection automatically flags natural 20s and natural 1s on a D20 with a green or red glow plus celebration confetti. The roll history keeps the last 50 rolls with the exact notation and result, so you can replay the encounter, copy the totals into your character sheet, or export the full session to CSV after the game.

A single die produces a uniform distribution — on a D6, each of 1 through 6 has exactly a 1/6 ≈ 16.67% probability. The moment you sum two or more dice, the distribution becomes triangular and then bell-shaped — the famous bell curve of 2d6 peaks at 7 (probability 6/36 ≈ 16.67%) and tails off to 2 and 12 (1/36 ≈ 2.78% each). Switch the roller to Probability Experiment mode and it rolls thousands of times in a flash, then plots the empirical distribution next to the theoretical curve — a perfect visual demo for classrooms learning expected value, variance, and the central limit theorem.