Dice Roller - Roll d4, d6, d20 and Notation Online
Roll tabletop dice with notation like 3d6, 2d20kh1, or 4d6dl1. The Dice Roller shows each die, kept dice, modifiers, and optional seeded rolls in the browser.
Random results are generated in your browser with crypto.getRandomValues(). Nothing is sent to a server.
—
—
Player 1
8000
Player 2
8000
0:00
—
Show arithmetic
The online roller parses standard tabletop notation and returns totals in the browser. Enter expressions such as 3d6, 2d20kh1 for advantage, 4d6dl1 for ability scores, or d100 for percentiles. Each roll lists individual dice, kept dice after keep or drop rules, and any modifier applied to the sum. Optional seeds reproduce the same sequence for play-by-post or testing.
Roll any number of dice online
Polyhedral dice from four through one hundred sides appear in common tabletop sets, and the roller accepts a count prefix before the d and sides suffix. A bare d6 rolls one six-sided die; 4d8 rolls four eight-sided dice in one action.
Pool sizes cap at one thousand dice and one thousand sides per expression so marathon sessions stay responsive in the tab.
Pick a notation string, tap Roll, and read the large total plus the per-die breakdown beneath it. Regenerate as often as needed; each click draws fresh values unless a seed locks the stream. The layout keeps the latest total visible for players sharing one screen at the table.
Use standard dice notation
Tabletop games express pools as count, the letter d, sides, then optional keep, drop, or explode suffixes before a signed modifier. The form 3d6+2 rolls three six-sided dice and adds two to their sum.
Suffix kh1 keeps the highest one die from the pool; kl1 keeps the lowest. dl1 drops the lowest die before summing, which matches many character-generation house rules.
Exploding dice append an exclamation mark after the sides digit. When a die shows its maximum face, the engine rolls again and adds that face to the running total for that die. Modifiers attach at the end as +3 or -1. Invalid tokens surface an error message without leaving the page.
Roll with advantage or disadvantage
Dungeons and Dragons style advantage rolls two twenty-sided dice and keeps the higher result. Disadvantage keeps the lower. Notation 2d20kh1 maps to advantage; 2d20kl1 maps to disadvantage. The detail line lists both raw d20 values and identifies which die counted toward the total.
The same keep-high and keep-low grammar works on other pools, such as 4d6dl1 for dropping the lowest of four sixes. Modifiers apply after keep and drop steps complete. For contested checks, run separate expressions for each participant rather than one shared pool.
Verify the dice are fair
Unseeded rolls read from the browser cryptographic random source through the site helper, and a compact randomness receipt under the tool states that fact without re-deriving the math. Seeded mode swaps to a deterministic generator so the same seed and notation reproduce the same sequence, which helps GMs audit a disputed roll or replay a session log.
Fairness in practice means each face should appear equally often on a single die over many trials. Short streaks of high or low numbers still happen. The receipt panel also notes that generated values are not sent to a server, matching the privacy line above the tool.
Read the probability of a dice total
One fair die assigns probability 1/n to each face from 1 through n. Two six-sided dice produce totals from 2 through 12, but seven appears most often because six ordered pairs sum to seven while only one pair sums to 2 or 12. That triangular distribution is the reference shape for any sum of identical dice.
The session totals chart below the roll button records each reported total while you play in that tab. Bars grow as outcomes accumulate; Reset chart clears the history. The chart describes what you rolled, not a proof of fairness, though long sessions should roughly follow the expected bell for pooled dice like 2d6.
FAQ
What dice notation is supported?
Dice notation is supported as an optional count, d, sides from 1 to 1000, optional kh, kl, dh, or dl with a digit, optional exploding !, and a trailing signed integer modifier. Examples include d20, 3d6+1, 2d20kh1, and 4d6dl1.
Can rolls be reproduced with a seed?
Rolls can be reproduced when the optional seed field holds a non-empty string. The same seed and notation yield the same sequence until the seed changes. Leave the seed blank for cryptographic randomness on each roll.
Does exploding dice chain forever?
Exploding dice chain only while the new roll also hits the maximum face. Each explosion adds another roll of that die to its contribution. House rules sometimes cap chains; this tool follows the notation only.
What is the difference between kh and dl?
Keep highest selects the top faces after all dice land. Drop lowest removes the bottom faces before the sum. 4d6dl1 and 4d6kh3 often match for four sixes, but larger pools diverge.
How many dice can one expression roll?
One expression rolls up to one thousand dice with up to one thousand sides each. Larger pools slow readability before they hit the cap. Split very large counts across multiple rolls if players need to track individuals.
Are d100 rolls percentile?
A d100 roll returns an integer from 1 through 100 inclusive, matching a percentile die in many systems. Some tables expect 0 through 99; adjust house rules if zero-based outcomes matter.
Does the roller work offline after load?
The tool runs entirely in the browser after the page loads. Cached assets allow rolls without a live network once scripts are present.
Where is the full CSPRNG explanation?
The password generator page on the developer hub explains modulo bias, rejection sampling, and why cryptographic randomness matters for secrets. This page shows only the receipt summary for dice.
Closing summary
The page handles common tabletop notation, advantage and drop-low setups, optional seeded reproducibility, per-die transparency beside each total, and a session chart for summed outcomes. Rolls stay on the device, and probability notes explain both uniform single dice and the peaked distribution of pooled dice like 2d6.