Dice Roller

Throw up to 20 virtual dice of any size, from a d2 coin flip to a d1000, and let the roller total them for you. Cryptographically secure randomness, generated in your own browser.

Press Generate to draw
Advanced Options

The board games come out of the closet at the cottage, and at least one die always turns out to be missing. Or the set you actually own is at home and you need a d20 halfway through a session at the local library. This free online dice roller for Canada throws whatever you do not have to hand. Set how many dice to throw in Dice — anything from 1 to 20 — set how many faces each one has in Sides, and press Generate. The page opens on two ordinary six-sided dice, so a first throw is one click away. Every die is shown on its own and the total of the throw appears underneath, so 3d6 needs no mental arithmetic.

Every roll is made by your browser through the Web Crypto API (crypto.getRandomValues), which provides cryptographically strong random values from your system's own source of randomness, rather than by a JavaScript pseudo-random function such as Math.random(). Turning a raw 32-bit value into a face number is where dice rollers quietly go wrong: taking the value modulo the number of faces is the obvious approach and the biased one, because unless the number of faces divides evenly into 2^32, the lowest faces come up slightly more often than the rest. That flaw is called modulo bias, and it is measurable rather than theoretical. This roller instead discards any value beyond the largest exact multiple of the number of faces and draws again — a technique called rejection sampling. It costs a few extra draws and buys an exact guarantee instead of an approximate one. Your throws are never sent to our server, so we never see or log them, and once the page has loaded they keep working even if the connection drops.

Two fields do all the work, and they map straight onto the dice notation games already use. Dice is how many dice you throw at once, from 1 to 20. Sides is how many faces each of them has, from 2 to 1000 — enough for a d2 coin flip, the full role-playing set of d4, d6, d8, d10, d12 and d20, the percentile d100, and whatever a game invents beyond them. Anything written as NdM is those two fields: 2d6 is Dice 2 and Sides 6, a single d20 is Dice 1 and Sides 20. Rolling 3d6 for a character's stat? Set Dice to 3, Sides to 6, press Generate, and the three faces arrive together with their total. Two switches change how the result looks rather than what it is. Animated 3D Dice, on by default, tumbles a cube for each die before it settles — switch it off and the numbers appear immediately as a plain list. Random color gives every die a colour of its own instead of the standard red, and it shows only while Animated 3D Dice is on, because a plain list has no dice to colour. Pips are drawn for a six-sided die; every other kind shows the rolled number on the face, since there is no dot pattern for a seventeen.

Under the result sits the line that saves the arithmetic: Σ is the total of every die in the throw, beside how long the roll took and a note that it was produced locally. Copy All puts the result on your clipboard and Save to File writes it into a text file — both give you the individual faces, one per line, rather than the sum, so a log of what was rolled stays a log of what was rolled. History keeps your last 10 throws in your own browser: click one to bring it back on screen, total included, copy or delete a single entry, or clear the lot whenever you like. Clear empties the result box and leaves your settings alone.

Are virtual dice better than real ones? On fairness, yes, and the reason is physical. An ordinary moulded die has its pips drilled out and painted, and a drilled pip removes material, so the six face — with six hollows in it — ends up very slightly the lightest and the face opposite very slightly the heaviest. Casino precision dice exist because of exactly that: their pips are filled flush with material of the same density, their edges are cut square rather than rounded off, they are machined to a fraction of a millimetre, and they are still retired after a few hours of play. The dice in a games box are none of those things, and they get worse with time — a chipped corner, an edge rounded by years of shaking, a die dropped onto a duvet instead of tumbled across a table is not really being randomized at all. A virtual die has no geometry to be wrong, no wear and no throwing technique to argue about, and it behaves the same on the ten-thousandth throw as on the first. What it cannot do is sit in your hand. The honest summary is that this roller wins on fairness and loses on ceremony.

A fair die is not the same thing as a fair total. Every face of one die is equally likely, but the moment you add dice together the sums stop being equal, and this catches people out constantly. Two six-sided dice land in 36 equally likely combinations; six of them add up to 7, while exactly one adds up to 2 and one to 12 — so a 7 turns up six times as often as a 12 on perfectly fair dice. Adding a third die tightens the pattern further, which is why 3d6 clusters around the middle and why designers reach for it when a value is meant to be ordinary more often than extreme. One six-sided die averages 3.5, so 2d6 averages 7 and 3d6 averages 10.5, and that arithmetic is usually more useful at the table than any single probability. None of it is bias: it is simply what adding dice does, and it is the reason a game asks for 2d6 rather than a d12 when the two cover the same range.

Dice have no memory. Four sixes in a row do not make a fifth six less likely, a die that has not shown a 1 all evening is not owed one, and no face ever becomes "due" — each throw is independent of every throw before it, and dice cannot know what they did a minute ago. The instinct that insists otherwise is the gambler's fallacy, and it is the same instinct that makes us poor at inventing dice rolls ourselves: asked to write down a plausible run of throws, we avoid repeats, alternate high and low, and spread the numbers far more evenly than chance ever does. Genuine randomness produces clumps, streaks and long gaps instead. A sequence that looks suspiciously tidy is more likely to have been made up by a person than thrown.

Why choose this dice roller?

Dice turn up wherever a game needs a number nobody chose. Drop in on a board-game night at a local library or community centre and you will hear a d20 land on an attack roll, 3d6 go down for a stat and a d100 come out for a percentile check — and the table that left half its dice bag at home plays on regardless. A week at the cottage does the same thing to the games in the closet: the dice have gone missing, so set Sides to 6, Dice to 2, and keep going. Because a group can be spread across six time zones, tables meeting over a video call roll on one shared screen, so that everybody watches the same faces land at the same moment. In a grade 5 math class the classic experiment still runs on graph paper: throw 2d6 60 times, tally the totals, and let the shape appear on the board. Designers work out whether a mechanic is as swingy as it feels before committing to a print run they are paying for themselves. And plenty of throws settle nothing more than who goes first, who buys the coffee, or which of two plans wins — the roll-for-it decisions people have been making with dice for several thousand years.

This roller has a few honest limits worth knowing. One throw uses one kind of die: the value in Sides applies to every die in it, so a d20 and a d6 together take two throws rather than one. There are no modifiers, no advantage or disadvantage, no exploding dice and no notation box — you get faces and their total, and whatever a rule adds on top is yours to add. Σ counts every die in the throw, while Copy All and Save to File record the individual faces rather than the sum. The animation is always a six-sided cube whatever the number of faces, because it is decoration: the face it settles on is the throw the engine has already made. Rolls are local to your device, so a table that meets online through the winter still needs one person to roll and share the screen — this roller produces a throw you can explain, not a throw a third party can certify. And a die drawn from a cryptographically secure source is still just a fair die: it has no connection to any lottery or casino draw and gives nobody an edge. Inside those limits the guarantee is a strong one — every face of every die has exactly the same chance, on every single throw.

FAQ

How do I roll dice online?

Set how many dice you want in Dice, set how many faces each of them has in Sides, and press Generate. The page opens on two six-sided dice, so an ordinary 2d6 throw is a single click. Each die appears on its own and the total of the throw is shown underneath it.

Are the virtual dice really random?

Yes. Every throw comes from your browser's Web Crypto API (crypto.getRandomValues), the same cryptographically secure source used where randomness has to be unpredictable, and the raw values are mapped onto faces with rejection sampling, which removes the modulo bias a naive implementation introduces. Every face of every die carries exactly the same probability, on every throw.

Which dice can I roll?

Any combination of 1 to 20 dice with 2 to 1000 faces each: a d2 coin flip, the full role-playing set of d4, d6, d8, d10, d12 and d20 that any game store sells in one box, the percentile d100, and anything a game invents up to a d1000. Dice notation maps straight onto the two fields — 2d6 means Dice 2 and Sides 6.

Does it show the total of the dice?

Yes. The line under the result opens with Σ followed by the sum of every die in the throw, so 3d6 or 4d10 needs no mental arithmetic. Copying or saving the result gives you the faces themselves, one per line; the sum stays in that line under the box.

Can I use it for D&D and other tabletop role-playing games?

Yes, and it is one of the most common uses, whether you are running a weekly session at a community centre or playing with friends online. Set Dice to 1 and Sides to 20 for an attack roll or a saving throw, Dice 3 and Sides 6 for a stat, Sides 100 for a percentile check. Every face is equally likely, drawn from a cryptographically secure source, which is more than a chipped d20 from the bottom of a dice bag can claim.

Can I roll a d20 and a d6 in the same throw?

No. The value in Sides applies to every die in the throw, so mixed dice take one throw each — roll the d20 first, then set Sides to 6 and throw again. There are no modifiers or advantage rolls either: the roller returns faces and their total, and the rule on top of them is yours to apply.

I turned on Random color and nothing changed. Why?

Because the colours live on the animated dice. With Animated 3D Dice switched off the result is a plain list of numbers, and a number has nothing to colour. Switch the animation back on and each cube arrives in a colour of its own instead of the standard red.

What does the Animated 3D Dice switch do?

With it on — which is the default — each die is drawn as a cube that tumbles before settling on its face. Switch it off and the numbers appear immediately as a plain list, which is quicker when you are throwing repeatedly. Either way the animation is decoration: the engine has already decided the result before the cube starts turning. A six-sided die is drawn with the familiar pattern of dots, while every other die simply shows its number.

Are virtual dice fairer than real dice?

On fairness, yes. A moulded die has its pips drilled out, so its faces do not weigh quite the same, and edges round off with use — casino precision dice are machined square and filled flush precisely to avoid that, and even they are taken out of play after a few hours. A virtual die has nothing to wear out, so every face keeps exactly the same probability from the first throw to the ten-thousandth.

Why does 7 come up so often when I roll two dice?

Because equal faces do not make equal totals. Two six-sided dice can land in 36 ways, and 7 can be made six of them — 1+6, 2+5, 3+4 and their mirrors — while 12 can be made only one way. Six chances against one is the whole explanation, and it holds on perfectly fair dice.

I rolled four sixes in a row. Is the roller broken?

No. Each throw is independent of the ones before it, so four sixes in a row on a d6 is a 1 in 1296 event — rare for you this evening, routine across everyone rolling today. Dice have no memory, and no face is ever owed a turn. If anything, a run of results that alternated neatly would be the suspicious one.

Does it work offline, does it remember my throws, and is it free?

Once the page has loaded, throws are made entirely in your browser, so a dropped connection will not interrupt the game — useful at a cottage where the signal comes and goes. History keeps your last 10 throws on your own device, where you can restore, copy or delete them. The tool is completely free with no sign-up, and because your throws are never sent to our server, we never see them. Analytics, if you allow it, records only that the tool was used — never the throws.