Manual · Content and homebrew
Importing 5eTools JSON
Add supported JSON content to the Library, understand the required shape and see when `_sheetling` is useful.
Sheetling reads a 5eTools homebrew JSON object with _meta.sources. It is content for the Library; it does not create a character or party.
Supported top-level data
- Items and base items
- Classes, class features, subclasses and subclass features
- Spells
- Species and subraces
- Feats, backgrounds and optional features
- Conditions and creatures
The exact fields currently read for each type are generated from the importer on the field reference. variantrule and free-standing table arrays are reported but do not create entries.
Import the file
- Select Import a file… and choose the JSON file.
- Check the source name, entry counts and rules-year choices.
- Read any not imported or detail dropped rows.
- Save the source, then enable it for a test character.
- Open the relevant creation, level-up or prepare-spells choice. A clean preview does not prove every entry is reachable there.
Structured fields and prose
Fields such as speed, darkvision, skillProficiencies, spell damage and rowsSpellProgression map without Sheetling-specific data. Text in entries remains text. It is not parsed into mechanics.
Use _sheetling only when ordinary structured fields cannot say what should reach the sheet. It can add effects, use behavior, prerequisites, feature choices or spellcasting metadata. A user who only imports existing JSON does not need to write it.
Technical checks
From a repository checkout, the probe reads a real file and exits non-zero when an entry drops:
npm run probe:5etools -- <file.json>
It also builds representative levels for imported subclasses and reports which trackers and toggles reach the derived sheet. See Troubleshooting for symptoms found in real files.