Gary W. said: If you ever find the time to do that guys like me could definitely use it Lucian. I was able to get a database of my homebrewed spells up for a few days. Right before the switch. Have never been able to figure out the changes to the format :) What I've been doing is looking at the raw code and trying to reverse engineer it. I also have a form in that link for spells but I haven't tested the output in roll20 yet. There's also this: <a href="https://github.com/symposion/roll20-shaped-scripts" rel="nofollow">https://github.com/symposion/roll20-shaped-scripts</a>... The problem is that the sample doesn't cover absolutely every possible scenario for a spell. As far as I can tell, there's "attack", "heal" and "save", each with primary and secondary die/dice, damage, and damage types (except for heal with is just heal amount and secondary heal amount). It would be possible to make something read something like this character by character, converting all the parts of the spell back into variables that can be put back together like a puzzle in a different format: {"name": "Acid Splash", "description": "Choose one creature within range, or choose two creatures within range that are within 5 feet of each other. A target must succeed on a Dexterity saving throw or take 1d6 acid damage.", "higherLevel": "This spell's damage increases by 1d6 when you reach 5th level (2d6), 11th level (3d6), and 17th level (4d6).", "emote": "You hurl a bubble of acid.", "source": "PlayersHandbook", "range": "60 feet", "target": "one or two creatures within range that are within 5 feet of each other", "aoe": "two adjacent creatures", {"verbal": true, "somatic": true}, "duration": "Instantaneous", "castingTime": "1 action", "level": cantrip, "school": "conjuration", "save": {"ability": "Dexterity", "damage": "1d6", "damageType": "acid", "saveSuccess": "no damage", "higherLevelDice": "1", "higherLevelDie": "1d6"}, "effects": "A target must succeed on a Dexterity saving throw or take 1d6 acid damage."}