Like so many others, numbers always fascinated me growing up. As an 11-year old, I discovered D&D and its cool multi-sided dice, which only fed one fascination and added another. Like so many others, as I grew older I thought, “I could make D&D, only better!” I examined various other systems and resolution mechanics from various genres, trying to figure out what worked, what didn’t work, and the various probabilities involved in the hopes of making the quintessential game (in my totally biased eyes, anyway!).
Fast-forward 30 years (was it REALLY that long ago?!), and that fascination with both numbers and RPGs hasn’t waned. Unfortunately, my skill with numbers has. You see, probability was never my strong suit, despite my math skill. Sure, I could figure out the probability of 2D6 rather easily, but beyond that...
For years, I looked to the RPGNet community, among others throughout cyberspace, for an easy to use tool that (a) was straightforward, (b) was flexible and powerful, and (c) didn’t hurt my head too much to use. Having looked at and used various quality tools from the likes of fellow RPG.netters such as John DeHope, James Ojaste and Harlequin Jones, I still found myself wanting more. As luck would have it, I stumbled upon Jasper Flick’s free online program AnyDice.
Who is AnyDice for? If you design games using some sort of resolution mechanic involving chance, are interested in figuring out how game mechanics work, or want to know what the probability is of doing something based on a particular mechanic in your favorite game, AnyDice is for you. If you are interested in numbers, you might find AnyDice useful as well. If you’re looking for a dice roller to use at the gaming table or online with a play-by-post game, you need to look elsewhere.
SUBSTANCE
What does AnyDice do, exactly? Quite simply, it calculates dice probabilities, and does it incredibly quickly and accurately. Using a server-side process to save your PC the trouble of crunching the numbers, AnyDice proves incredibly flexible and powerful. It calculates various dice combinations of almost any size and numbering scheme, with optional filters and modifiers, and offers the flexibility to combine dice types, filters and modifiers to provide a robust game mechanic probability tool. Dice types include:
- Simple dice: things like 2d6, 1d8+3, 2d9+1d17, 1d3*2d4, and 1d52 (for the card games). You can use negative and absolute numbers as well.
- Complex dice: things like 1d(something), where something is a distribution (3d10 for example).
- Custom dice: things like Fudge dice and dice with different numbering schemes (d6 numbered 2, 4, 6, 8, 10, 12 for example) are all possible.
Users can combine simple, complex and custom dice to calculate various distributions as well. Filters include:
- Take Highest: What are the odds for rolling D&D character abilities using the 4d6, keep the three highest method? AnyDice can tell you that.
- Take Lowest: Perhaps you have a system that uses 2d10 and keeps the lowest result.
- Take Median: Maybe you want to use a mechanic that rolls 3d20 and keeps the middle number or takes 4d8 and sums the middle two. AnyDice can figure out the odds.
- Comparators: For example, you might want to roll 4d8 and only sum results greater than ‘4’ or see what the probability of rolling 3d6 is of hitting a target number of 10.
Modifiers include:
- Count: If you have a simple dice pool mechanic, you can determine the probability of a certain number of successes.
- Explode: If you have a system that uses a simple exploding die mechanic, AnyDice can tell you the odds.
AnyDice calculates a given input’s probability and presents a combined table and graphic chart with all probabilities. Even better, you can export the results as a CSV file for use in most spreadsheet programs.
STYLE
AnyDice uses a simple input syntax to tell it what to figure out. For example, 4d6h3 tells AnyDice to roll four 6-sided dice and sum the three highest results. If AnyDice encounters an error in the input, it highlights where the error is for the user. In addition, it uses a simple yet effective interface, with an input box, two options, and a calculate button. The two options, ‘minimal’ and ‘export’, affect how AnyDice handles and displays result and are not selected by default.
Users simply input the dice combination they wish to find the probabilities for in AnyDice syntax, then press the calculate button. AnyDice produces tables highlighting the value, number of ways a value can be rolled, the probability of getting a value with a single roll, and both the group of all results both smaller than or equal to the value and larger than or equal to the value. In addition, AnyDice produces corresponding graphics highlighting the distribution, as well as indicating the total combinations possible and the average roll weight. Selecting ‘minimal’ limits the output to just the value, number of ways a value can be rolled, the probability of getting a value with a single roll, and the corresponding graphical distribution. Selecting export automatically creates a CSV export file when the user presses the calculate button.
IMPRESSION
Is AnyDice all-powerful? No, it does have limitations. For example, AnyDice can only use one modifier or one filter at a time. In addition, if you want to calculate the probability of a One Roll Engine-type system, or test an exploding die mechanic that rolls again on a result of ‘1’ and subtracts the next roll, it can’t do that... yet. The creator maintains an active blog, readily considers suggestions, and is quick to update and improve AnyDice.
Functionally, the interface and output work well, although I would prefer to see a few options and improvements:
- Users unfamiliar with the syntax will have to look at the documentation page to figure things out. A sidebar displaying most common syntax on the same page as the calculator would be useful and save the user from having to go back and forth between webpages.
- The total number of combinations possible switches to exponential notation for any number greater than 1,000,000. I wish it would display more digits (say 1,000,000,000) or have an option box to allow the user to choose between standard and exponential notation.
- The average roll weight is displayed at the bottom of the screen following the output tables and graphics. This is because AnyDice calculates the result as it calculates and builds the tables and graphics themselves. I would prefer to see it above the tables and graphics, as it’s easily lost off screen with bigger tables and graphics.
- If the user chooses to export the results, AnyDice generates the CSV file, but does not generate the results on the calculator screen. This could confuse the user who might see a mismatched input and result tables and graphics on the calculator screen itself (although the CSV file is correct).
- When exporting a file, it generates the tables only, not the graphics. I would like to see an option to export the graphics as a separate image file.
- It does not include a dice roller. Of course, that's not what AnyDice sets out to do, but it's a simple thing that would give the user a one-stop dice-rolling shop.
- AnyDice is not downloadable. Users must be connected to the Internet to use it due to its’ server-side design. This allows it to crunch more numbers faster, but limits user ability. A standalone version, AnyDice 2, is in the works.
That said, AnyDice is the most powerful and flexible probability calculator I have found to date. It offers just about everything I’m looking for in a simple, yet effective, package. It does have some room to improve, but an active and open-minded creator willing to listen to suggestions provides great hope for the future. Based on its design and effectiveness, I give it a ‘4’ for substance. Based on its user interface and output, I give it a ‘4’ for style.
As indicated before, AnyDice is not all-powerful, nor is it for everybody. It is, however, incredibly useful for those interested in game design, be it RPG, board game, or otherwise. If you design games, for fun or for profit, or are remotely interested in the numbers behind the mechanics, AnyDice is a free and worthwhile tool to add to your toolbox. I encourage everyone to give it a go today!

