Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

DnD Character Sheet Helper

Ionas PolitisIonas Politis89 downloads

Renders D&D 5.5e character features, weapons and an inventory from frontmatter properties.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates4

[!NOTE] DnD Character Sheet Helper is an Obsidian Plugin that brings the DnD Rulebook 5.5e (2024) right inside your Digital Character Sheet. This is not a replacement for the DnD Player's Handbook, but just a handy tool that gives you only the information you might need, or you wouldn't remember on top of your mind, while playing.

If there are any races or classes you want me to add to this plugin, make a feature request on GitHub.

(If any text has been written wrong please make an Issue Report on GitHub. I maintain it myself)

DnD Character Features:

Given the appropriate variables and values this plugin can give you useful information of your character directly inside your Obsidian Note. It displays all the Action related Features from your Class (with Multi-class support), Subclass, Race Traits, Background Feat and Extra Feats added at your own disposal.

A Sample of the Code Block looks like this:

```dnd-features
level: $num$
class: $list$
class-levels: $list$
subclass: $list$
race: $text$
race-lineage: $text$
background: $list$
extra-feats: $list$
hide: $list$
```

Any of the variables (except for level) can be omitted and only the variables with a value will be used and displayed.

The variable class-levels is used when you have multiple classes on your character and the plugin needs to know how many levels does each class have. The order of the levels should be the same as the class order.

Write down a Feature's name as in on the screen inside the variable hide to hide it from view.

The rest of the variables should be self-explanatory.

[!TIP] Sometimes a class feature may have you select one of many options permenantly. Those specific features have duplicates with each one being one of the options you might choose. You can use the hide variable to hide the options you did not choose.

DnD Character Inventory:

An easy way to manage your character's inventory including. There is a section for managing your Gold, a section for Weapon / Armor, a section for starter items and a section for extra items added in later on.

A Sample of the Code Block looks like this:

```dnd-inventory
weapon: $text$
weapon_damage: $text$
armor: $text$
armor_ac: $text$
class: $text$
class-equipment: $text$
class-chosen-items: $list$ <optional>
background: $text$
background-equipment: $text$
background-chosen-items: $list$ <optional>
extra-items: $list$
```

Weapons and Amor related varibales are optional and when not set that section will not be made visible.

The Gold section is always visible and will have as base rate the gold provided by the class + background. There after, you can use the Add and Spend buttons that will change the Gold amount displayed. When using the aforementioned buttons the ammount added/spent will be as properties inside your character's note that then will be used to calculate the Total Gold you currently have.

The Backpack section is also always visible and wil be automatically populated with the items given to your character from their class and background. If given the choice between items from your class or background you will have to use the class-chosen-items and background-chosen-items. You can get more information on each item by hovering your cursor over it.

[!TIP] The aforementioned variables are used to select an Artisan's Tool, a Musical Instrument, or a Gaming Set depeding on what's provided by the class or background. For more information on your choices always look through the actual DnD Player's Handbook.

Rules Block:

A way to add Custom Rules to your Character Sheet.

A Sample of the Code Block looks like this:

```dnd-inventory
rules: $list$
```

Critical Role:

I have also added Critcal Role's Campaign 4 Desperate Measures mechanic. I just thought it was an interesting mechanic and I've used it in my campaigns ever since I found out about it. To use it you just add Desperate Measures into the Rules Block

Extra Features:

  • Code Blocks have frontmatter support by using the key-word "frontmatter." + a note property's name.

Settings Menu:

  • Class & Subclass combination toggle

  • Custom Rulebook folder path inside your Obsidian Vault for Homebrewed DnD.

    There's also a toggle to have the Custom Rulebook be prioritied

  • Theme Engine

    Not anything special, just some basic custom color pallete pane for you to change any color to your liking.

Homebrew:

This plugin also supports custom rules by adding the path of your custom Rulebook that is inside your Obsidian Vault. This is the folder structure used and what the plugin expects:

rulebook/
├── classes/
│   └── <add your custom classes & subclasses>
├── feats/
│   └── <add your custom feats>
├── items/
│   └── <add your custom items>
├── races/
│   └── <add your custom races>
├── rules/
│   └── <add your custom rules>
├── backgrounds.json
├── classes.json
├── items.json
├── races.json
└── rules.json

The backgrounds.json, classes.json and races.json work as router files to the specific feat, class, or race JSON is needed for better modularity.

[!TIP] All text fields support the markdown format with some custom spacing so that information can more easily fit inside the UI. Use \n for line-break and \t for tabs as normal.

The structure of each JSON file is as follows:

  • classes/races/items/rules.json:
{
    "<Class/Race/Item/Rule_Name>": "<Class/Race/Item/Rule_File_Name>"
}
  • backgrounds.json:
{
      "<Background>": {
            "feat": "<Feat_Given>",
            "starting-equipment": {
                  "A": {
                        "items": {
                              "<item>": 0,
                              "<type+|>": 0
                        }, "gold": 0
                  },
                  "B": { "items": {}, "gold": 0 }
            }
      }
}
  • class.json:
{
    "class": "<Class_Name>",
    "subclassFile": "<Subclass_File_Name>",
    "starting-equipment": {
        "A": {
            "items": {
                "<Item_File_Name>": 0,
                "<Item_File_Name>": 0,
                "musical-instrument|": 0, // <optional_DnD_item_type>
                "artisans-tool|musical-instrument": 0, // <optional_DnD_multiple_items_w/_type>
            "<item_type|>" : 0 // <optional_homebrew_item_type>
            }, "gold": 0
        },
        "B": { "items": {}, "gold": 0 }
    },
    "features": {
        "<Level>": [
            {
                "name": "<Feature_Name>",
                "description": "<Feature_Description>",
                "badge": "<Custom_Badge_Text_Inplace_of_Level>", // <optional>
                "grantedFeats": "<Feat_Name>"
            }
        ]
      }
}

Sometimes DnD classes or backgrounds offer a choice of an item category (like any Musical Instrument or Artisan's Tool) rather than a specific item. To handle this you can use items' Type instead of a single item's filename

By adding a pipe character (|) to an item key in your class.json or backgrounds.json (e.g: "musical-instrument|": 1 or "artisans-tool|musical-instrument": 1), you tell the plugin to wait for the player's choice. The plugin will automatically scan the player's class-chosen-items or background-chosen-items variables in their note, find an item whose "type" matches the requirement, and seamlessly add it to their inventory.

The granted-feat variables automatically grants the player a certain feat when that level is reached and can be viewd in the "Extra Feats" section.

  • $class-subclasses.json:
{
      "<Subclass_Name>": {
            "<Level>": [
                  {
                        "name": "<Feature_Name>",
                        "description": "<Feature_Description>"
                  }
            ]
      }
}
  • feat.json:
{
    "name": "<Feat_Name>",
    "description": "<Feat_Description>"
}
  • race.json:
{
      "traits": [
            {
                  "name": "<Trait_Name>",
                  "description": "<Trait_Description>",
                  "lineage": "Lineage_Name" // <optional>
            }
      ]
}

The lineage variable in the race.json is a Flag, making it so that this trait will appear if that and the race-lineage variable in the code block have the same value, while also swapping out the "Trait" badge for a "Lineage" badge.

  • item.json:
{
      "name": "<Item's_name>",
      "type": "<weapon/armor/gear/artisans-tool/musical-instrument/gaming-set>",
      "description": "<Item's_Description>",
      "weight": 0,
      "damage": "<Damage_Dice+Damage_Type>", // <optional>
      "ac": "<Armor's_Base_AC>", // <optional>
      "cost": 0
}
  • rule.json:
{
    "name": "Desperate Measures",
    "rules": [
            {
                "name": "<Rule_Section_Name>",
                "description": "<Rule_Section_Description>",
                "badge": "<Custom_Badge_Text>" // <optional>
            }
    ]
}

Acknowledgements:

This plugin was made because of my want to have a comfortable Character Sheet in Obsidian without hassle. I first stumbled upon hay-kot's Obsidian DnD UI Toolkit and was the inspiration for the color pallete and the reason I started this project, because if it wasn't for his plugin and making it possible to have some of the crutial DnD Character Sheet elements inside an Obsidian Note, I would have never gone through the trouble of making my own plugin to add to it.

I currently use both plugins for my character sheets and have made a Template uploaded in this repo: https://github.com/IonasPolitis/Ionas-Obsidian-DnD-Character-Sheet-Template

HealthExcellent
ReviewPassed
About
Embed DnD 5.5e reference content into your Obsidian character notes and display action-related features from classes, subclasses, races, backgrounds and extra feats, with multiclass support. Manage inventory and currency, tracking weapons, armor, starter items and added items directly in your notes. Also has Homebrew support to use your own rulebook, but look through the documentation for that.
TTRPGProperties
Details
Current version
1.3.2
Last updated
2 weeks ago
Created
3 weeks ago
Updates
4 releases
Downloads
89
Compatible with
Obsidian 1.13.7+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
Ionas PolitisIonas Politisionaspolitis
GitHubionaspolitis
  1. Community
  2. Plugins
  3. TTRPG
  4. DnD Character Sheet Helper

Related plugins

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Update modified date

Automatically update a frontmatter modified date field when the file is modified.

MetaEdit

Manage your metadata.

Charted Roots

Family tree visualization with GEDCOM/Gramps import and Canvas/PDF/Markdown export. Charts, maps, timelines, citations, fictional calendars. For genealogists, worldbuilders, and TTRPG campaigns.

TTRPG Tools - Maps

A toolbox for interactive fantasy maps.

Featured Image

Automatically set a featured image property in your notes based on the first image.

Pretty Properties

Makes note properties look more fun: adds side image, banners, list property colors and allows to hide specific properties.

Fantasy Statblocks

Create, manage and view a Fantasy Bestiary with Dungeons and Dragons style statblocks.

Base Board

Organize notes into Kanban boards using frontmatter properties. Drag and drop cards between columns powered by Bases.