Twine 2 JSON Specification

For the first time ever, the Twine Specs collection of technical documentation and specifications has approved a new format, JSON, for use with Twine-compatible story compilation tools not currently or previously supported by Twine.

This is a major step toward encoding story and passage data into other formats and continuing to help support the robust ecosystem around Twine too often frustrated by a lack of documentation on how to get data out of formats generated or historically used by Twine for use in other tools and processes.

Unique to this format is also the support of “partial story encoding” for exporting a selection of passages from one story and potentially using them in another. (Depending on the tool, this was possible with other formats.) My hope for work on this format was for it to serve as inspiration for future work on easing the importing of extra CSS and JavaScript into Twine beyond copying and pasting large sections of code. Ideally, projects could share the same JSON file as input across multiple story compilation processes and tools.

Note: While added today, support in Twine might not arrive for some time or at all. There is planned or near-completed support in the story compilation tools Tweego and Extwee to arrive in their next updates with no currently planned support for Twine in its own next major update. Previous discussions placed emphasis on work in 2024 for possible development work for Twine, but this is subject to change or be dropped completely.