Importing actors
Bring actors into your library via the TurnWarden Extension or a JSON file, then add them to any encounter.
TurnWarden gives you two ways to bring monsters and NPCs into your library. The fastest route is the TurnWarden Extension. Installed once in Chrome, it parses any D&D Beyond monster page and copies the stat block as ready-to-paste JSON. The second route accepts that same JSON from any source: a module export, an LLM output, or a hand-written file. Both flows land the actor in your Library, ready to add to any encounter.
The Extension flow
The Extension reads the D&D Beyond monster page you have open and turns the stat block into the JSON TurnWarden imports. You do not retype any fields.
- 1.Install the TurnWarden Extension
Head to the TurnWarden Extension article for the current install link and setup steps. The Extension runs in Chrome and requires no account beyond your existing D&D Beyond login.
- 2.Open a monster page on D&D Beyond
Navigate to any monster or NPC entry on D&D Beyond. The System Reference Document entries work without a subscription. The Extension icon in your Chrome toolbar becomes active on these pages.
- 3.Open the Extension popup
Click the TurnWarden icon in the Chrome toolbar. The popup shows the monster's name and a summary of parsed fields. If D&D Beyond leaves a field blank, the import leaves it blank too. The actor still imports.
- 4.Copy the JSON
Click Copy JSON in the popup. The full stat block is now on your clipboard in TurnWarden's canonical format.
- 5.Paste into TurnWarden
In the TurnWarden web app, look at the Library rail header on the left of the tracker. Select + Bind ▾ → Bind from Import. The Bind to Library dialog opens on the import pane. Paste your clipboard into the Monster JSON textarea (Cmd/Ctrl+V) and select the green Import button. TurnWarden checks the JSON and adds the actor to your Library.
The JSON paste flow
You can paste any JSON that matches TurnWarden's canonical shape. The Extension is the fastest source, but D&D Beyond module exports, LLM-generated stat blocks, and hand-written JSON all work as long as the required fields are present.
- 1.Acquire the JSON
Get a JSON file or string in TurnWarden's monster format (see "What the JSON looks like" below). Common sources: a D&D Beyond module export, a JSON file generated by an LLM given a monster description, or a manually authored file for a homebrew creature.
- 2.Open the Bind from Import pane
In the TurnWarden web app, find the Library rail on the left of the tracker. Select + Bind ▾ in the rail header and choose Bind from Import from the dropdown. The Bind to Library dialog opens directly on the import pane: a Monster JSON textarea ready for your paste, and an Upload JSON file button if you would rather pick a saved
.jsonfrom disk. - 3.Paste the JSON
Paste the JSON string into the Monster JSON textarea and select the green Import button. TurnWarden checks the shape: if the required fields are present and well-formed, the actor appears in the Library immediately. If the shape is wrong, an inline alert explains what is missing; fix and re-import.
- 4.Confirm in the Library
The imported actor appears at the top of your Library list. Select the actor to review the parsed stat block before adding it to an encounter.
What the JSON looks like
TurnWarden's canonical stat-block shape covers the fields a DM needs at the table: the creature's display name, armour class, hit points, ability scores, and the actions it takes in combat. The fields you will use most:
displayNameis the name shown in the tracker and the player view.acandhpare armour class (value + optional notes) and hit points (average, formula, and notes).abilitiesis the six ability scores as a flat map:str,dex,con,int,wis,cha.actionsis an array of action objects, each with anameand adescriptionstring.traits,bonusActions,reactions,legendaryActions,mythicActionsfollow the same array shape asactions.
Here is a Goblin sample showing the full set of top-level fields:
{
"source": "dndbeyond",
"actorType": "monster",
"displayName": "Goblin",
"meta": {
"size": "Small",
"creatureType": "Humanoid (goblinoid)",
"alignment": "Neutral Evil"
},
"ac": { "value": 15, "notes": "leather armour, shield" },
"hp": { "average": 7, "formula": "2d6", "notes": null },
"speed": { "walk": "30 ft.", "fly": null, "swim": null, "climb": null, "burrow": null, "notes": null },
"abilities": { "str": 8, "dex": 14, "con": 10, "int": 10, "wis": 8, "cha": 8 },
"saves": [],
"skills": [{ "name": "Stealth", "mod": "+6" }],
"damageVulnerabilities": [],
"damageResistances": [],
"damageImmunities": [],
"conditionImmunities": [],
"senses": ["darkvision 60 ft."],
"languages": ["Common", "Goblin"],
"challenge": "1/4",
"xp": 50,
"proficiencyBonus": "+2",
"imageUrl": null,
"traits": [],
"actions": [
{ "name": "Scimitar", "description": "Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 5 (1d6 + 2) slashing damage." },
{ "name": "Shortbow", "description": "Ranged Weapon Attack: +4 to hit, range 80/320 ft., one target. Hit: 5 (1d6 + 2) piercing damage." }
],
"bonusActions": [],
"reactions": [],
"legendaryActions": [],
"mythicActions": []
}Two optional fields, damageImmunitiesNote and legendaryActionsNote, hold any extra prose D&D Beyond attaches to those sections. The Extension fills them in when present. You can leave them out of hand-written JSON.
What's next
With actors in your Library, you are ready to run a full encounter. The running your first encounter guide walks through adding Library actors to the tracker, rolling initiative, and advancing the round. If you want to expand your Library further, revisit the TurnWarden Extension article; the Extension exports any D&D Beyond monster you can view.