DnD Beyond Importer

approved

by jktaisa

Import public D&D Beyond characters as beautifully formatted Obsidian notes. - This plugin has not been manually reviewed by Obsidian staff.

↓ 1,207 downloadsUpdated 1mo agoMIT
DnD Beyond Importer banner

βš”οΈ DnD Beyond Importer

Pull any public D&D Beyond character into Obsidian β€” formatted, queryable, and ready to roll.

Importer, character sheet, dice roller and interactive character sheet.


✨ What it does

FeatureDescription
πŸ“‹ Full Character SheetAbility scores, saving throws, skills, HP, AC, speed, proficiency bonus
βš”οΈ EquipmentInventory table with equipped status and weight
πŸ“– SpellsGrouped by level, with school, cast time, range, concentration, and prepared status
🌟 Features & TraitsRacial traits, feats, personality, ideals, bonds, flaws
πŸ’° CurrencyAll coin types tracked automatically
πŸ“œ Backstory & NotesBackstory and campaign notes pulled straight from D&D Beyond
🏷️ YAML Front MatterKey stats exposed as queryable properties for Dataview
πŸ”„ Re-import / RefreshOne-click refresh button updates the existing note in place
🎲 Dice Rollerd4 through d100, with toast notifications and roll history
πŸ—ΊοΈ Interactive Character SheetFull visual overlay with HP tracking, rolling, and spell slots

πŸ“¦ Installation

Automatic (recommended for stable releases)

  1. Open Settings
  2. Go to Community plugins
  3. Click Browse
  4. Search "DnD Beyond Importer"
  5. Click Install, then Enable
  6. Configure plugin settings (optional)

Manual

  1. Download the latest release zip from the Releases page (or build from source below)
  2. Unzip into your vault's plugin directory:
    <YourVault>/.obsidian/plugins/dndbeyond-importer/
    
    The folder needs main.js, manifest.json, and styles.css
  3. Go to Obsidian β†’ Settings β†’ Community Plugins and enable DnD Beyond Importer

Build from source

git clone https://github.com/Webcreator3478/D-D-Beyond-Character-Importer---Obsidian-Plugin.git
cd dndbeyond-importer
npm install
npm run build

This produces main.js in the project root.


πŸš€ Usage

Importing a character

Ribbon: click the βš”οΈ sword icon in the left sidebar Command palette: Ctrl/Cmd + P β†’ DnD Beyond Importer: Import character from D&D Beyond

Any of these input formats work:

  • Full URL β€” https://www.dndbeyond.com/characters/137202151/GpDg8C
  • Short URL β€” https://www.dndbeyond.com/characters/137202151
  • Bare ID β€” 137202151

⚠️ The character sheet must be set to Public on D&D Beyond. Private sheets can't be fetched.

Interactive Character Sheet

After importing, click the βš”οΈ Open Interactive Character Sheet button at the top of any character note to open the full interactive overlay. The Markdown note underneath stays untouched.

Next to it, πŸ”„ Refresh from D&D Beyond re-fetches the character and updates the note in place β€” handy after leveling up or changing equipment. It shows a brief βœ… or ❌ confirmation, and is disabled on notes without a D&D Beyond character ID.

The interactive sheet covers HP tracking, ability score rolls, saving throws, skills, actions & attacks, spell slots, spells, equipment, features & traits, session notes, a live roll log, currency, and proficiencies.

Standalone Dice Roller

Ribbon: click the 🎲 dice icon in the left sidebar Command palette: DnD Beyond Importer: Open Dice Roller

Available dice: d4, d6, d8, d10, d12, d20, d100. Each roll appears in the modal, fires a toast (e.g. 🎲 d20: 17), and logs to history with a timestamp. History caps at the last 50 rolls and can be wiped with Clear History β€” it persists for the session.


πŸ“Έ Screenshots

Importer Character sheet

Dice roller Interactive character sheet

Import β†’ open sheet β†’ roll dice β†’ refresh, demo


βš™οΈ Settings

SettingDefaultDescription
Output folderCharactersWhere character notes are saved in your vault
Include spellsβœ“Spell list and spell slots
Include equipmentβœ“Inventory table
Include features & traitsβœ“Racial traits, feats, personality traits
Include backstory & notesβœ“Backstory and campaign notes

πŸ—‚ Note structure

---                          ← YAML front matter (queryable with Dataview)
name, race, class, level
hp_max, hp_current, ac …
tags: ["dnd-character", …]
---

# Character Name
> Class β€’ Race β€’ Level N

## Core Stats        (HP / AC / Speed / Initiative / Prof. Bonus)
## Ability Scores    (STR / DEX / CON / INT / WIS / CHA with modifiers)
## Saving Throws     (proficient saves marked βœ“)
## Skills            (proficient βœ“, expertise β˜…)
## Proficiencies & Languages
## Currency
## Equipment         (table: item / qty / equipped / weight)
## Features & Traits (racial traits, feats, personality)
## Spells            (grouped by level, spell slots table)
## Backstory & Notes
## Session Notes     ← blank section for your own notes

πŸ”Œ A note on the D&D Beyond API

The plugin fetches from an unofficial internal endpoint:

https://character-service.dndbeyond.com/character/v5/character/{ID}

This isn't officially documented or supported by D&D Beyond / Wizards of the Coast and could change or break without warning. The plugin is read-only β€” it never writes anything back to D&D Beyond.

Mobile: character fetching uses Obsidian's requestUrl API to work around browser CORS restrictions. This works reliably on desktop (Windows, macOS, Linux). On mobile, the request may be blocked depending on your network setup.


πŸ› Features & Bugs

Feature requests β€” open an issue labeled Enhancement. If it fits the plugin's goals, it'll land in the next major or minor update.

Bugs β€” open an issue labeled Bug. All bugs are addressed as soon as possible and fixed in the next major, minor, or patch release.


πŸ‘₯ Contributors

Contributors

❀️ Support


Built with ❀️ for the Obsidian and D&D community.

⭐ Star this repository if you find it useful.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.