Dice Roller Calculator - Roll Dice & Analyze Statistics

Roll d4, d6, d8, d10, d12, d20 and d100 dice online with true atmospheric-noise randomness, simulate up to 100,000 rolls, and compare every result with the exact probability distribution.

Tap the dice tray for a quick roll with a modifier and roll history, run a batch simulation with statistics and a fairness test, or open the distribution lab to watch the central limit theorem appear as you add dice.

Dice
Type
Simulate many rolls
Roll the same dice up to 100,000 times and compare the results with the exact probability distribution, including a chi-square fairness test.

Fetches 128 bits of atmospheric-noise entropy from RANDOM.ORG and uses it to seed a fast local generator that drives every roll. Falls back to the local CSPRNG if RANDOM.ORG cannot be reached.

Central limit theorem lab
Roll several dice counts at once and compare the distribution of the average face value — watch it change from flat to a bell curve.

Up to 4 counts, each 1–50 — e.g. 1, 2, 5, 10.

1–20,000 rolls each. Uses the die selected above: d6

About the Dice Roller Calculator

This dice roller does two jobs. For games, the dice tray at the top rolls any common die — d4, d6, d8, d10, d12, d20 or d100 — up to six at a time, adds a modifier such as +3, and keeps a history of your last twelve rolls, so 2d6+3 or 1d20+5 is one tap away. For probability and statistics, the batch simulator and the distribution lab roll the same dice thousands of times and compare what happened with what the mathematics predicts. The randomness is taken seriously. By default the tool requests 128 bits of atmospheric-noise entropy from RANDOM.ORG, a true random number service that measures radio noise in the atmosphere, and uses them to seed a fast, statistically sound generator (sfc32). Each face is then drawn with rejection sampling, so every face of a d6, d20 or d100 is exactly equally likely — there is no modulo bias. If RANDOM.ORG cannot be reached, the tool falls back automatically to your browser's cryptographically secure generator and says so with a source badge. Every batch also reports its seed, and pasting any text into the replay-seed field reproduces a run exactly. The batch simulator compares each run with the exact distribution of the sum, computed by convolving the single-die distribution once per die rather than estimated. One die gives a flat, uniform distribution; two dice give a triangle peaked at the middle (7 for 2d6); three or more pile up into a bell curve. The chart overlays the observed bars with the exact probabilities, and the statistics show the observed mean and standard deviation next to the expected values n(s+1)/2 and sqrt(n(s²−1)/12). A chi-square goodness-of-fit test answers the obvious question: do these rolls look fair? Adjacent sums are pooled until every bin expects at least five rolls, and the p-value says how often fair dice would produce a mismatch at least this large. A small p-value is not proof of loaded dice — with honest randomness, about one run in a hundred falls below 0.01 — but it is exactly the test you would use on a physical die you suspect. The distribution lab goes one step further. It rolls several dice counts at once — for example 1, 2, 5 and 10 dice — and plots the distribution of the average face value for each on a shared axis. One die is flat, two make a triangle, and ten form a tight bell around (s+1)/2 whose spread shrinks like 1/sqrt(n). That is the central limit theorem, visible in a single click, and a second chart follows the running average of a single die as it settles toward its expected value — the law of large numbers. Results from both sections export as CSV for spreadsheets or a statistics class.

Dice Roller Examples

Common rolls and simulations with what to expect from each.

ConfigurationExpected ResultUse Case
Tray: 1d20 + 56 to 25, average 15.5A typical tabletop RPG attack or skill check — every total from 6 to 25 is equally likely (5% each).
Tray: 4d64 to 24, average 14Rolling ability scores or a quick damage roll. Totals near 14 are far more common than 4 or 24.
2d6 × 1,000 rollsMean ≈ 7.0, sum 7 ≈ 16.7%Triangular distribution peaked at 7, std dev ≈ 2.42 — the dice behind Monopoly and Catan.
1d20 × 10,000 rollsEach face ≈ 5%Uniform distribution, mean 10.5, std dev ≈ 5.77. The chi-square test confirms the d20 is fair.
Lab: 1, 2, 5, 10 dice × 5,000 rollsFlat → triangle → bellThe average face value narrows around 3.5 as dice are added — the central limit theorem.

How to Use the Dice Roller Calculator

  1. For a quick roll, pick how many dice (1–6) and which type (d4 to d100) in the tray, add a modifier if your game needs one, and tap the dice or the Roll button. Your last twelve rolls stay listed underneath.
  2. For a simulation, choose the randomness source (RANDOM.ORG true random is the default), select the dice sides, set the number of dice (1–10) and the number of rolls (up to 100,000), then press Roll Dice.
  3. Read the results: observed mean and standard deviation next to their expected values, median, mode, range, the chart of observed frequencies against exact probabilities, and the chi-square fairness test.
  4. Open the distribution lab, enter several dice counts such as 1, 2, 5, 10, and press Run experiments to see the distribution of the average narrow into a bell curve.
  5. Use the seed shown under any result to reproduce it: paste it (or any text) into the replay-seed field and run again. Export the frequency table or lab data as CSV for further analysis.

Dice Roller FAQ

Is this dice roller truly random?
By default it fetches 128 bits of atmospheric-noise entropy from RANDOM.ORG and uses them to seed a fast generator (sfc32) that produces every roll, with rejection sampling so each face is exactly equally likely. If RANDOM.ORG is unreachable, it falls back to your browser's cryptographically secure generator and labels the result. You can also switch to the local source permanently.
Can I roll with a modifier like 2d6+3 or 1d20+5?
Yes. In the dice tray, choose the number of dice and the die type, then type the modifier (negative numbers work too). The total includes the modifier and the breakdown shows each die, for example 4 + 2 + 3 = 9.
Why does the mean change slightly on each run?
Each run uses a different random sequence, so the sample statistics fluctuate around the expected value. The standard error of the mean is the standard deviation divided by the square root of the number of rolls: for 2d6 (std dev 2.42) it is about 0.24 with 100 rolls, 0.077 with 1,000 and 0.0077 with 100,000. That shrinking error is the law of large numbers.
What does the chi-square fairness test mean?
It measures how far the observed frequencies are from the exact probabilities and converts that distance into a p-value: the chance fair dice would produce a mismatch at least this large. A p-value above 0.01 means the rolls are consistent with fair dice. A smaller p-value is a warning sign for a physical die, but with honest randomness it still happens about once per hundred runs.
What is the expected value and standard deviation of a die?
For one fair s-sided die the expected value is (s+1)/2 and the variance is (s²−1)/12. For n dice, both add up: the expected sum is n(s+1)/2 and the standard deviation is sqrt(n(s²−1)/12). For example 2d6 has mean 7 and std dev 2.42, and 1d20 has mean 10.5 and std dev 5.77.
Why is 7 the most common total with two dice?
There are 36 equally likely outcomes for two d6, and six of them add to 7 (1+6, 2+5, 3+4, 4+3, 5+2, 6+1) — more than any other total, giving 6/36 ≈ 16.7%. Totals of 2 and 12 have only one combination each (2.8%). The red dots on the chart show these exact probabilities.
How many rolls do I need for an accurate estimate?
100 rolls show the rough shape of the distribution; 1,000 rolls give frequencies within about one or two percentage points; at 100,000 rolls the observed percentages for standard dice are typically within a few tenths of a point of the exact values.
What does the replay seed do?
Every batch reports the seed that drove its generator. Entering that seed, or any text of your choice, before rolling reproduces the exact same rolls, which makes simulations repeatable and easy to share with a class.