Jump to section



Jan 31, 2024  ·  9 min read

Rolling dice in Quest Portal





roll buttons

character sheets

Rolling dice in Quest Portal blog cover image

Dice can be rolled from character sheets, notes, library, chat, dice tool and formula builder.

At the heart of every roll is a roll formula. Roll formulas are made up of dice notations and modifiers. To roll a 20-sided die you can simply use the roll formula "1d20". By writing "1d8+5" you will roll an 8-sided die and add 5 to the result. Below is an overview of all the possible dice notations and modifiers.

From where to roll

Rolling from a Roll Button

Roll buttons can be found in universal character sheets, notes and library sources. A roll button looks like 1d20+5 or Weapon attack Both buttons will roll a 1d20+5 but the latter has a specified name.

Rolling from Enhanced Character Sheets

Enhanced character sheets like our Call of Cthulhu 7th edition sheet have buttons that are styled differently. Normally, in enhanced sheets, you don't have as much control over the roll formula that will be rolled.

Enhanced character sheet for Call of Cthulhu 7th edition in Quest Portal.

Rolling from Chat

You can use the chat to roll dice by typing in the "/roll" followed by a roll formula: "/roll 1d20-3". This would roll a 20-sided die and subtract 3.

Example of rolling from chat in Quest Portal.

As always when you roll from chat using a roll formula that supports 3D dice, then you'll see the dice roll all over the screen. The result of the throw is shown in the chat.

Rolling from Dice Menu and Dice Formula Builder

There are two visual roll formula builders. The first is the Dice Menu that allows you to pick which dice to roll and how many. So if you click on the 10-sided die icon 4 times then you are essentially making the roll formula equate to "4d10". The dice tool is found on your campaign home and on the scene during sessions.

Dice Menu tool in Quest Portal.

The second tool is the formula builder and is available as a tool in the right sidebar in campaigns and sessions. This tool helps you build more complex roll formulas and save them for reuse later.

Rolling dice in tabletop role-playing games

TTRPGs have different core types of dice. Standard dice are the most common where you have d4, d6, d8, d10, d12, d20 and d100 (a d10 + a percentile die). Narrative dice are used in systems like Genesys and Star Wars. FATE uses 6-sided dice with different faces. There are even card-based TTRPGs.

Currently, Quest Portal supports standard dice and Fate dice. We are working on bringing in more dice support. The following section discusses the different elements supported in Quest Portal.

Supported dice and formula elements

First, it's important to note that you can write roll formulas for dice unsupported by the 3D dice. So you can create a roll formula like “1d1” 1d1 or “2d1000” 2d1000 and it will roll that for you and return the result, you just won’t see any 3D dice.


Roll formulas support most math operators as modifiers, like plus (+), minus (-), multiplication (*), division (/) and exponent (**). Therefore, rolling 1d20/5 will roll the die, take the result and divide it by 5.

Modifiers can also string multiple dice together: 1d20 + 1d10 + 1d3 will roll a 20-sided die, a 10-sided die and a 3-sided die (you will only see the first two roll across your screen).


To compare a dice roll to some value you can use comparison notations like greater than or equal to (>), less than or equal to (<) or equals (=). Comparison rolls will always return a 0 if false and 1 if true.

Rolling 1d100<75 will roll the 100-sided die (a 1d10 and a percentile die) and compare the result with the value 75. If it is lower than or equal to 75 then it will return a 1 else a 0.

Dropping and keeping

Dropping or keeping dice work very similarly. They will allow you to specify if you want to keep/drop the highest or lowest dice and how many to keep/drop.

The notations are

  • dh = drop highest
  • dl = drop lowest
  • kh = keep highest
  • kl = keep lowest

For example, the roll formula 9d6kh3 will roll 9 times 6-sided dice and keep the three highest rolls and add them up. So if the dice roll like 1, 4, 3, 1, 1, 3, 5, 2, 2 then you would keep the 5, 4, and 3 for a total of 12.

Exploding, compounding and penetrating dice

Our 3D dice don't currently support exploding, compounding and penetrating dice. The dice that should explode are not re-rolled visually, however they are accounted for in the dice results.

The roll formulas support using exploding, compounding and penetrating notations. These are compound additional rolls (!!) and penetrate additional rolls (!p).

Exploding dice or explode highest value (!) are when you roll the maximum number of a die you get to re-roll again and add the additional roll to your total for the roll. If the additional roll is also a maximum number, you get to keep rolling!


If you roll 6d10! and you will initially roll 6 times 10-sided dice. If that results
3, 7, 6, 8, 8, 10 then you get to roll that 10 again for a total of 7 dice rolls. Then add up all the numbers.

Compounding dice or compound additional rolls (!!) are when the additional rolls for each dice are added together as a single "roll". With the compounding exploding rolls a single roll can be infinitely high! The Compare Point can be specified to change the exploding trigger.


  • 5d6!!- Rolls 5d6 and compound every time a 6 is rolled
  • 5d6!!5 - Rolls 5d6 and compound every time a 5 is rolled, 6's will be treated as a normal roll

Penetrating dice or penetrate additional rolls (!p) are when additional rolls for each dice have 1 subtracted from the roll. A die can penetrate multiple times but the modifier is only ever -1 to each additional die.


  • 5d6!p - Rolls 5d6 and explode with a -1 modifier every time a 6 is rolled
  • 5d6!p>5 - Rolls 5d6 and explode with a -1 modifier every time a 5 or higher is rolled.
Dice Formula Builder UI in Quest Portal.

The Dice Formula Builder allows you to create complex roll strings visually. This can help you navigate creating the more complex rolls, without remembering all the syntax required.

Rolls that are saved in the Dice tool are tied to a campaign.

FATE dice

The dF notation accurately simulates FATE dice as 6-sided dice in which two sides are 0, two sides are +1, and two sides are -1.

To roll 4 FATE dice you would write 4dF as your roll formula. You can add modifiers to those dice as well.

Grouping Rolls

If you want to perform a series of rolls and compare each to a common check you can use the roll grouping notations.

{4d6+3d8}kh1 will roll 4 times 6-side dice and 3 times 8-sided dice and from both pools keep the highest value.

{4d6,3d8}kh1 will roll the same number of dice, but keep the highest group total. If you get 10 from your 4d6 and 9 from your 3d8, then the 10 is kept.

Tips and tricks

Rolling in secret

You can roll dice secretly using the Dice Menu by clicking the eye icon (see screenshot).

Additionally, when you roll from a hidden GM character, that roll will be marked as hidden.

Hidden roll announcement in Quest Portal.

Rolling and adding additional information

You can write a valid roll formula then add non-formula text with your roll. So if you use the formula 1d20+5 Short Sword Attack then will only roll the 1d20 and add 5 to it, the rest will be included in the roll announcement information.

Math only rolls

You can do math-only rolls by adding a math expression after the roll command. This won't roll any dice, just perform the calculation.

You can use the floor and ceil operators to round rolls that might otherwise lead to fractions. The roll formula 1d20+floor(1d10/3) will roll a 20-sided die and a 10-sided die and for the 10-sided die divide the result by 3 then round down to the nearest integer.

Math notations and formulas overview

  • + Plus. Will add to the total 1d20+10
  • - Minus. Will subtract from the total 10-5
  • * Multiplication. Will multiply with a provided value 1d6*3
  • / Division. Will divide with a provided value 1d10/5
  • % Modulus division. The result of a % b is the remainder of a / b 1d20%2
  • ** Exponentiation. Will "raise a to the power of b". More commonly expressed as a^b but in roll formulas we use a**b instead 1d6**2
  • floor(x) Rounds x towards negative infinity floor(1d20/5)
  • round(x) Rounds x towards 0 if the fractional portion of x is less than 0.5, and round x towards positive infinity if the fractional portion of x is 0.5 or greater round(1d20/5)
  • ceil(x) Rounds x towards positive infinity ceil(1d20/5)
  • abs(x) Returns the absolute value of x abs(5-10)

Roll formulas follow a standard order of operation in math. Parenthesis can be used to group operations together.

That's all folks (for now)! We will keep this documentation as up-to-date as possible.

If you spot any errors, please let us know.

Build your next dice formula

Sign up for a free account and start rolling dice in Quest Portal. Create unlimited characters, campaigns and enjoy unlimited storage as you take your game to the next level.

Dice in Quest Portal