5e Spell Companion

Import Guide & Support

You can use the import feature to add spells or spell lists to the app without having to manually put them into the create spell dialog. However, in order to import them, spells have to be provided in the appropriate format.

The app supports .json and .spells file extensions for import files. Their respective content is in the same format. The file format is a JSON that conforms to this schema definition. Here is an example of a valid spell JSON:

[
  {
    "higher_level": [
      "If you cast this spell using a spell slot ..."
    ],
    "source": "5.1SRD",
    "name": "Animal Messenger",
    "description": [
      "By means of this spell, ..."
    ],
    "range": "30 feet",
    "components": [
      "V",
      "S",
      "M"
    ],
    "material": "A morsel of food.",
    "ritual": true,
    "duration": "24 hours",
    "concentration": false,
    "casting_time": "1 action",
    "level": 2,
    "classes": [
      "Bard",
      "Druid",
      "Ranger"
    ],
    "school": "Enchantment",
  }
]
  

Note, that a level of 0 means cantrip, and that higher_level and description are arrays of strings, with each string being a paragraph in the spell text. For spells that have no additional effects when upcasted, the higher_level field can be omitted; the same goes for spells without a material component.

The spell list structure also is a JSON conforming to this schema definition. Basically, it is an object containing three keys, namely group, name and spells, with the former two being strings and the latter being an array that conforms to the schema discussed above. While spells can be imported from .spell and .json files, spell lists can only be imported from .splist files.

For further support, please contact nico@kuh-wei.de.