Discord itself does not include a dice button, so any search for "how to roll dice in Discord" really comes down to choosing between two paths: a dice bot installed on your server, or a browser-based dice roller you open in another tab and paste the results back into chat. The first option relies on bots like DiceMaiden, which parse commands such as !roll 2d6+3 and post the result inline with the conversation. The second option uses a client-side tool that generates fair numbers, keeps the roll history in your browser, and works in any server — including DMs and servers that ban bots. The Dice Roller is built for the second path: it gives you d4, d6, d8, d10, d12, d20, and any custom-sided die from 2 to 1000 faces, rolls up to twelve at a time, and uses the browser's cryptographically secure random number generator so no face is weighted. After a roll, you see each individual result, the total, the last several rolls, and session statistics — everything you need to keep a tabletop game moving when no bot is installed or the bot is down.

Why Discord Has No Built-In Dice Roller
Discord is a chat and voice platform, not a game engine, so it does not ship with a rolling dice button. That gap is the reason the search query "how to roll dice in Discord" pulls up bots, bots, and more bots. To actually generate a number between 1 and 20, you need something extra — a bot your server admins have invited, or a separate tool you open in your browser. Understanding which path fits your situation is the first step.
Choosing a bot has trade-offs. A bot like DiceMaiden parses expressions such as !roll 2d6+3 or /r 1d20, posts the result in your channel, and stores roll history server-side. That is excellent for a long-running campaign where the whole table wants to see the roll in the chat. The catch is that someone with server administration permission has to add the bot, the bot must be online when you need it, and some servers ban bots entirely. If you just want a fair die result right now, regardless of which server you are in, a browser-based tool sidesteps every one of those constraints.
Two Ways to Roll Dice in Discord: Bot Compared to Browser
| Factor | Discord dice bot | Browser-based dice roller |
|---|---|---|
| Setup | Admin must invite and configure the bot | Open a web page in a tab |
| Permissions needed | Manage Server, or the bot already added | None |
| Result appears in chat | Yes, posted by the bot automatically | You copy and paste the result |
| Works in any server | Only servers where the bot is installed | Yes, including DMs and bot-banned servers |
| Roll history visible to others | Stored in the channel | Local to your browser only |
| Randomness source | Varies by bot implementation | Browser CSPRNG (cryptographically secure) |
| Best for | Long campaigns with shared history | Quick rolls, one-off games, teaching probability |
The two approaches are not mutually exclusive. Many players use a bot for table-shared rolls and keep a browser tool open in another tab for situations where the bot is down, the channel is private, or they want to preview a probability before committing to a roll in chat.
How to Roll Dice in Discord with the Dice Roller
- Open the Dice Roller in a browser tab next to your Discord window. The tool runs entirely client-side, so no login, install, or upload is required; launch it at /generators/dice-roller/.
- Pick a die type. The default row offers d4, d6, d8, d10, d12, and d20 — the seven polyhedral dice used in Dungeons & Dragons, Pathfinder, and most tabletop RPGs. Choose the one your game calls for. For a quick coin flip using a d6, tap d6.
- Tap Custom for unusual dice. When the game calls for a d100, a d3, or a die with any unusual number of sides, hit Custom and enter a value from 2 to 1000. The tool will roll against that face count instead of a preset.
- Set how many dice to roll. Use the − and + stepper to choose anywhere from 1 to 12 dice. Most RPG checks call for 1d20, while damage rolls commonly use 2d6, 3d8, or 1d12.
- Press Roll. The page shows each individual result, the running total, and a short history of recent rolls. There is no delay, and the animation is purely cosmetic — the underlying number is generated the moment you click.
- Copy the result into Discord. Type the total (or each die's value) into your Discord channel. For d20 attack rolls, paste the single number. For multi-die damage, paste the full breakdown so the table can see the dice that produced the total.
- Review session stats between rounds. The page tracks recent rolls and the average of your totals, which is useful if you want to verify that your dice are behaving as expected or to teach a player how distributions work.
Once the page is loaded, it also works offline. If Discord voice drops or your internet flares, the dice are still fair.
Dice Types and What Each One Does
| Die | Shape | Typical use in RPGs and games |
|---|---|---|
| d4 | Tetrahedron | Small damage, ability boosts, low-tier random effects |
| d6 | Cube | Board games, ability scores, weapon damage for many classes |
| d8 | Octahedron | Longsword damage, druid spells, mid-tier hit points |
| d10 | Pentagonal trapezohedron | Greatsword damage, percentile rolls (paired), high-tier hits |
| d12 | Dodecahedron | Greataxe damage, barbarian hit dice, powerful abilities |
| d20 | Icosahedron | Attack rolls, saving throws, skill checks — the main die of D&D; |
| Custom (2–1000 sides) | Any | Percentile (d100), two-result (d2), or unusual mechanics from homebrew rules |
The "d" in each name is shorthand for "die." The number after it is the face count. A d20 has twenty faces numbered 1 through 20, each equally likely on a fair roll. The d10 is special: it typically has its faces numbered 0 through 9, so two d10s rolled together — one for tens, one for ones — produce a d100 from 0 to 99. The Dice Roller handles this automatically; you can roll a d100 by switching to Custom and entering 100, or by rolling two d10s and reading the first as the tens digit.
What a Cryptographically Secure Die Actually Means
Many "roll a die" tools online use JavaScript's Math.random(), which is fast but not guaranteed to be statistically uniform across engines, and it is not designed for unpredictability. The Dice Roller uses crypto.getRandomValues(), the browser's built-in cryptographically secure pseudo-random number generator (CSPRNG). Two practical differences fall out of that choice.
First, a CSPRNG produces a distribution where each face is genuinely equally likely. The tool's developer tested this by rolling a d6 sixty thousand times and found that every face landed close to one-sixth of the time, with the overall distribution passing a chi-square fairness test. That is the statistical gold standard for proving a die is not loaded.
Second, the output is unpredictable. Math.random() in some engines can be seeded poorly or produce patterns that appear random but repeat. A CSPRNG is designed so that even knowing the previous outputs gives no advantage in predicting the next one. For a friendly game, this matters less than for cryptography, but it means the dice you roll in your browser are honest — no hidden bias toward high numbers, no special treatment for low numbers, no weight at the corners.
Because the randomness happens in your browser, no values are sent to a server. The rolls stay on your device, and the tool responds instantly without network round-trips.
Reading the Bell Curve in Your Roll History
A single die is uniform — every face is equally likely. Sum several dice, and the totals form a bell-shaped curve. This is one of the most useful probability observations you can show a new player, and the Dice Roller's history panel makes it visible in real time.
Consider 2d6. The total of 7 is the most common because there are six ways to make it: (1,6), (2,5), (3,4), (4,3), (5,2), (6,1). The total of 2 (a double 1) and the total of 12 (a double 6) are the rarest, with only one combination each. So when you roll 2d6 many times, 7 appears at the peak of the curve, while 2 and 12 sit at the tails. This is the same mathematics that produces the bell curve in larger samples — it is the central limit theorem in miniature, and it is why teachers use dice to introduce distributions and expected value.
The session-stats view on the Dice Roller tracks the average of your totals. Across many rolls, that average should settle near the expected value (7 for 2d6, 10.5 for 1d20, 10.5 for 3d6). If it drifts far from those numbers over hundreds of rolls, you have a fair, visible signal that something is off — which is exactly the kind of check a good probability demonstration needs.
Practical Tips for Tabletop Nights Over Discord
For a smoother session, keep the Dice Roller open in a pinned browser tab next to your Discord window. You get roll results in a fraction of a second without leaving the call, and because the page stores history locally, you can scroll back to a roll from twenty minutes ago if a player disputes a result.
When the game requires quick yes-or-no decisions — "does the merchant have potions in stock?" — the d6 works as a coin. Pick three faces for yes and three for no, or follow a dedicated two-option dice rolling guide to keep the resolution style consistent across the table. For longer sequences like a craps-style shoot, you can stage the same flow with a simple craps-style roll between encounters.
Use the Custom die for mechanics that do not fit a standard polyhedral set. Homebrew rules frequently call for a d3 (roll a d6 and treat 1-2 as 1, 3-4 as 2, 5-6 as 3), a d100 for percentile checks, or stranger values like a d7 for a one-off encounter. The Custom field accepts anything from 2 to 1000 sides, so the tool covers the full spectrum of tabletop needs without ever asking you to install anything.
Finally, remember that the randomness is local. If you want the table to verify a critical roll, share what you rolled openly. The CSPRNG ensures the number is fair; transparency ensures the players trust it.