Rules engine
The beating heart of our instant updates.
Strength
ability score
Conditions & effects
Modifier
+3(STR − 10) / 2
Carry weight
240 lbSTR × 15
Athletics
+6mod + prof
Longsword attack
+6d20 + mod + prof
Longsword damage
1d8+31d8 + mod
Strength save
+6mod + prof
A 5th-level fighter · proficiency +3
Sheets that do the math
Change an ability score and everything that depends on it updates right away, including modifiers, saving throws, skills, armor class, initiative, and spell DCs. All of the math happens instantly on your device.
This is not another AI
No slop here! We've custom built a Rust based, deterministic library for keeping your character sheet updated in real time based on changes you make.
Runs in the browser, works offline
The entire engine runs in your browser as WebAssembly. Character math is instant, works offline, and keeps working if your wifi is having a bad day.
One engine, many systems
The same engine supports D&D 5e in both its 2014 and 2024 editions, plus the Pathfinder 2e Remaster with its proficiency ranks, class DC, and three saves. Each system gets its own faithful implementation of the math.
Bonuses apply themselves
Species, classes, backgrounds, feats, and items carry their own rules. When you pick one, its bonuses are applied everywhere the system says they should be. If you remove it later, every one of those bonuses is cleanly reversed.
Equipment bonuses apply when equipped
Equip a shield and your AC goes up. Unequip it and the bonus is removed the same instant. Items sitting in your pack have no effect on your stats until you actually equip them.
Derived hit points
Your maximum HP is calculated from class hit dice plus your Constitution modifier at every level, and your current HP starts there when the character is finished. After that, any manual HP edits you make are always preserved.
Multiclass maths
Total level is the sum of your class levels, hit points accumulate with the right die for each class, and class features read the level of their own class. A Fighter 3 / Wizard 2 gets exactly the features a 3rd-level Fighter should have.
Caster math across classes
Full, half, and third casters combine into a single caster level, and your spell slots for each spell level fill in automatically from the standard progression table.
Modifiers baked into rolls
Click an attack and the d20 already includes your ability modifier, proficiency, and any magic weapon bonus. Damage rolls use the weapon dice plus your ability modifier, and correctly leave proficiency out. Extra dice like a flaming weapon’s 2d6 join the same roll, and finesse weapons use the better of Strength or Dexterity.
Upcasting scales the dice
Cast a spell with a higher-level slot and the engine rolls the right number of dice for that level, so you never have to re-read the spell text mid-combat.
Descriptions show your real numbers
Spell and item descriptions are filled in with your character’s actual values. The DC you read in the text is your DC, already computed.