Skip to content

Creating Monsters

The monster creation form is organized into three tabs: Details, Actions, and Legendary. This guide walks through each section of the interface.

The Details tab contains all the core monster statistics.

The first row contains the monster’s basic identity:

FieldDescriptionExpression Support
NameThe monster’s name (required)No
AlignmentMoral alignment (dropdown)No
Creature TypeAberration, Beast, Celestial, etc. (dropdown)No
Monster SubtypesTags like “devil”, “demon” (multi-select)No
ImageFile upload only (no direct URL input)No

Six ability score inputs, each showing the raw score and calculated modifier:

FieldRangeExample
Str1-3018 (+4)
Dex1-3014 (+2)
Con1-3016 (+3)
Int1-3010 (+0)
Wis1-3012 (+1)
Cha1-308 (-1)

The modifier is calculated automatically: floor((score - 10) / 2)

A popover button that opens a panel to configure saving throw proficiencies.

Expression Support: Yes

You can use math notation to modify saving throws:

prof # Just proficiency
prof + 2 # Proficiency plus bonus
prof * 2 # Double proficiency (expertise)

The display shows the computed value: “Str +6, Con +5, Wis +3”

FieldDescriptionExpression Support
ACArmor Class - can include descriptionYes
Hit DieDice expression for HPYes
Avg HPAuto-calculated from Hit Die + CONNo (computed)

AC Examples:

17 (natural armor)
15 (chain mail)
10 + dex
13 + dex (studded leather)

Hit Die Examples:

4d8
10d10
21d12

The Avg HP is automatically calculated: dice average + (CON modifier × number of dice)

FieldDescriptionExpression Support
CRChallenge Rating (dropdown: 0, 1/8, 1/4, 1/2, 1-30)No
P.BonusProficiency bonus (auto-calculated from CR)No (computed)
RoleMonster role: Ambusher, Artillery, Brute, etc.No
SizeTiny, Small, Medium, Large, Huge, GargantuanNo
FieldDescriptionExpression Support
Condition ImmunitiesMulti-select of conditionsNo
Damage AdjustmentsResistances, immunities, vulnerabilities with notesNo
LanguagesMulti-select with custom optionNo

Damage Adjustment Format:

  • Select damage type + adjustment type (resistance/immunity/vulnerability)
  • Add optional notes like “from nonmagical attacks”
FieldDescriptionExpression Support
SpeedsWalk, Burrow, Climb, Fly, Swim (in ft.)No
SensesBlindsight, Darkvision, Tremorsense, Truesight (in ft.)No
SkillsAll 18 skills with expression supportYes

Skills - Expression Support: Yes

Opens a popover with all 18 skills. You can use expressions:

prof # Proficient
prof * 2 # Expertise
prof + 2 # Proficient with bonus

The display shows computed values: “Perception +8, Stealth +6”

The Actions tab contains four markdown text areas for different action types:

FieldDescription
TraitsPassive abilities like “Amphibious” or “Magic Resistance”
ActionsStandard actions including attacks and abilities
Bonus ActionsBonus action abilities
ReactionsReactive abilities like “Parry” or “Uncanny Dodge”

Actions are written in Markdown with expressions embedded in curly braces {}:

**Bite.** _Melee Weapon Attack:_ {Hit prof + str} to hit,
reach 10 ft., one target. _Hit:_ {2d10 + str piercing}.

The expressions will be parsed and displayed with computed values in the statblock preview.

Inside monster action textareas, press Cmd/Ctrl + K and choose Monster Action Wizard for a guided template flow.

The wizard prompts for:

  1. Delivery (Melee, Ranged, or Melee or Ranged)
  2. Family (Weapon, Spell, or Power)
  3. Reach/range
  4. Damage type
  5. Action name

The ability stat is inferred automatically from the monster’s scores:

  • Weapon actions use the higher of str or dex.
  • Spell and power actions use the highest of int, cha, or wis.

Generated output uses this style:

**_Tail._** _Melee Weapon Attack:_ {Hit prof + str} to hit, reach 15 ft., one target. _Hit:_ {2d8 + str bludgeoning}.
**_Psionic Bolt (1st-Order Power)._** _Ranged Power Attack:_ {Hit prof + int} to hit, range 120 ft., one target. _Hit:_ {2d8 + int force}.
**_Arcane Staff._** _Melee or Ranged Spell Attack:_ {Hit prof + int} to hit, reach 5 ft. or range 30 ft., one target. _Hit:_ {2d8 + int lightning}.
Expression TypeSyntaxExample
Attack Roll{Hit <modifier>}{Hit prof + str}
Damage{<dice> <type>}{2d6 + str slashing}
Save DC{DC <value> <SAVE>}{DC 8 + prof + con DEX}
Multi-damage{<dice> <type> + <dice> <type>}{2d6 slashing + 2d6 fire}
**Longsword.** _Melee Weapon Attack:_ {Hit prof + str} to hit,
reach 5 ft., one target. _Hit:_ {1d8 + str slashing}, or
{1d10 + str slashing} if used with two hands.
**Fire Breath (Recharge 5-6).** The dragon exhales fire in a
60-foot cone. Each creature in that area must make a
{DC 8 + prof + con DEX}, taking {12d6 fire} on a failed save,
or half as much damage on a successful one.

The Legendary tab contains four additional action type fields for powerful creatures:

FieldDescription
Legendary ActionsActions that can be taken at the end of other creatures’ turns
Mythic ActionsActions available after mythic trait triggers
Villain ActionsMCDM-style villain actions for dramatic encounters
Lair ActionsActions tied to the creature’s lair

These fields use the same Markdown + expression syntax as the Actions tab.

Inside each Legendary tab textarea, press Cmd/Ctrl + K to open a section-specific scaffold wizard:

  • Legendary Actions -> Legendary Actions Wizard
  • Mythic Actions -> Mythic Actions Wizard
  • Villain Actions -> Villain Actions Wizard
  • Lair Actions -> Lair Actions Wizard

Each wizard inserts a starter block that automatically uses the current monster name.

The dragon can take 3 legendary actions, choosing from the
options below. Only one legendary action option can be used
at a time and only at the end of another creature's turn.
**Detect.** The dragon makes a Wisdom (Perception) check.
**Tail Attack.** The dragon makes a tail attack:
{Hit prof + str} to hit, {2d8 + str bludgeoning}.
**Wing Attack (Costs 2 Actions).** Each creature within 15 feet
must succeed on a {DC 8 + prof + str DEX} or take
{2d6 + str bludgeoning} and be knocked prone.

As you edit the monster, a live Statblock preview shows how the monster will appear. The preview:

  • Renders all computed values from expressions
  • Shows the full formatted statblock
  • Updates in real-time as you make changes

Click the Save button to save your monster. The system will:

  1. Validate all required fields
  2. Compute the crNum from CR for sorting
  3. Parse and validate all expressions
  4. Save to your homebrew bestiary