Dice Roller
Roll any number of d4 to d100 dice with a modifier, and keep the last twenty results.
This tool runs entirely in your browser. Your data is never uploaded, never stored, and never leaves your device.
Virtual dice for when the real ones are in another room: rolls any number of d4, d6, d8, d10, d12, d20 or d100 at once, adds a modifier if you set one, and keeps the last twenty results with each individual die shown.
How to use it
- 1Pick the die, how many of them, and a modifier if the roll needs one.
- 2Press Roll — the total is shown large, with the individual dice and the arithmetic underneath.
- 3Previous rolls stack below, newest first, so a disputed result is still on screen.
Example
- Input
- 3d6+2
- Output
- 4 + 2 + 5 + 2 = 13, with highest 5, lowest 2 and average 3.67 shown
The link carries the dice, so sending someone a d20+5 roller is a URL rather than an instruction.
What happens to your data
This tool runs entirely in your browser. Rolls come from crypto.getRandomValues rather than Math.random, and nothing about them is transmitted or stored — reload the page and the history is gone.
Last updated August 2026
The dice are in a box in the loft, under something heavy, and the game has already started. Or they are on the table and a d20 has gone under the sofa again. Either way what you want is a number between one and twenty, now.
One roll here is one kind of die. That covers nearly everything a game asks for — 1d20 for an attack, 2d6 for damage, 4d6 for an ability score — but a mixed roll like 1d8 and 2d6 together is two rolls you add up yourself. The dice on offer are d4, d6, d8, d10, d12, d20 and d100, up to a hundred of them in one throw, and there is nowhere to type notation: you set the die, the number of them and the modifier in three fields.
The modifier is the part people quietly get wrong. It is added once, to the total, not to each die. Set 2d6 with a modifier of 3 and you get both dice plus three, which is right for a spell written as 2d6+3 and wrong if you meant two attacks that each get +3. For that, roll one die at a time and read the totals separately. Negative numbers are accepted, so a penalty goes in as -2.
What comes back is the total in large type, the individual dice and the arithmetic beneath it, and for more than one die the highest, lowest and average of that throw.
How it works
Toolvore draws every die from crypto.getRandomValues, the browser's cryptographic random source, rather than Math.random — not because a dice roller is a security context, but because Math.random is a pseudo-random generator a browser is free to make predictable, and a die you can predict is not a die. The source alone is not enough. Reducing a 32-bit value with a plain remainder biases the low faces whenever the number of sides does not divide evenly into 2^32: for a d6 four spare values are left over and they land on faces 1 to 4, which then come up very slightly more often than 5 and 6. That last incomplete block is thrown away and another value drawn instead, so every face stays equally likely at the cost of occasionally drawing twice. Where it is weakest is memory. The history holds twenty rolls and lives only in the open tab — reload and it is empty — and there is no copy or export button, so no record leaves the page. The average shown belongs to that one throw, not to your session.
Common use cases
- Board games whose dice went missing years ago
- Rolling initiative when the set is at home and the session is online
- Settling something between two people with only a phone to hand
- Generating ability scores before a first session
- Running a probability lesson without thirty sets of dice
- Picking a giveaway winner in front of the people who entered
- Keeping the last twenty results visible when a roll is disputed
Frequently asked questions
Are online dice as random as physical ones?+
Random in different ways, and the digital one is easier to reason about. A physical die is a manufactured object: the pips are drilled and filled, so the six face is fractionally lighter than the one, and casino dice have flush pips precisely because of that. Worn edges and a soft rolling surface add their own lean, and nobody measures it at the table. The rolls here come from the browser's cryptographic random source with the biased tail of the range discarded, so every face has the same chance every time. What a screen cannot give you is the clatter.
What does 3d6+2 mean?+
It is the standard shorthand for a roll. The first number is how many dice, the d is followed by how many faces each one has, and anything after is added to or subtracted from the total once. So 3d6+2 means throw three six-sided dice, add them together, then add two — a range of 5 to 20. 1d20 is a single twenty-sider; 2d10-1 is two ten-siders minus one. Where a rule writes just d8 with no leading number, it means one. The three fields here map onto the three parts, and the roll button prints the notation back at you, so you can check it before pressing.
How do I roll with advantage or disadvantage?+
Advantage in fifth-edition D&D means rolling two twenty-sided dice and using the higher of them; disadvantage means using the lower. Neither is a sum, which is the trap on a screen — set the die to d20 and the count to 2 and the big number is both dice added together, which means nothing for this purpose. The smaller line underneath is the one you want: it gives the highest and the lowest of that throw, so read whichever your situation calls for and ignore the total. Add your bonus to that single figure by hand; the modifier field would apply it to the pair.
Is 2d6 the same as rolling one d12?+
The averages are close and the behaviour is not. A d12 is flat: every number from 1 to 12 turns up one time in twelve. Two six-sided dice can make 2 only one way, double one, but can make 7 six different ways, so 7 arrives about six times as often and results cluster in the middle. That is why damage written as 2d6 feels more dependable than 1d12 despite averaging 7 against 6.5, and why systems that want steady outcomes use several small dice while systems that want drama use one big one. Roll a large handful and watch the average line to see the clustering.
How do percentile dice work, and is d100 one die or two?+
A physical percentile roll uses two ten-sided dice, one marked in tens from 00 to 90 and one in units, read side by side, with 00 and 0 taken as 100 rather than zero. The d100 option here is a single draw returning 1 to 100 directly, which gives the same flat spread without the convention to remember. Genuine hundred-sided dice exist — the Zocchihedron — but they roll for an age. If your rules ask for d%, that is this. Setting the count to 2 on a d10 will not reproduce it, because those two dice are summed rather than read as tens and units.
How do I roll 4d6 and drop the lowest?+
That is the usual way to generate D&D ability scores: roll four six-sided dice, discard the smallest, add the remaining three, and repeat six times. It lifts the average score to roughly 12.24 against 10.5 for a straight 3d6, and makes genuinely poor scores rare. Set the die to d6 and the count to 4, and the four dice are listed under the total with the lowest of them named on the line below — subtract that yourself, because nothing here drops it for you and the total always includes all four. Throw it six times and the earlier five stay on screen.
Is my roll history stored or sent anywhere?+
Nothing about a roll leaves your device. The numbers are produced in the page by the browser's own random source, no request goes out to fetch a result, and the history is ordinary memory in the open tab — reload it, close it, or press Clear history and it is gone. One thing does travel, worth knowing: the die, the count and the modifier are held in the page address, so a link you copy and send carries the setup you had chosen. It carries the configuration only. No result you have rolled is in that link.
The same number keeps coming up — is something broken?+
Almost certainly not. Each roll is drawn independently and nothing carries over between them, so the generator has no memory of what it produced a moment ago. Across twenty throws of a d20 a repeat is unremarkable and three of a kind is not startling; short runs look far less random to people than real randomness is. The feeling that a six is due after a long stretch without one is the gambler's fallacy, and it applies to a wooden die too. Throw a hundred d6 in one go and the average sits near 3.5.
Related tools
Random Number Generator
Generate random numbers in any range, with or without repeats.
LCM & GCF Calculator
Find the lowest common multiple and greatest common factor of any set of numbers.
Percentage Calculator
Work out percentages, increases, decreases, and shares.
Mock Data Generator
Generate fake names, emails, and rows as JSON or CSV.