Save, Export and Import D&D Scenes as JSON

Every scene is a file you can hold, not just a save slot

TerrainTale autosaves as you build, but a scene is also just JSON: something you can export, back up, check into a repo, generate with an AI assistant, or hand to another DM. Nothing about it is locked inside the app.

Autosave you do not think about

The open scene saves to your account automatically as you build, backed by IndexedDB locally so the table survives a reload or a lost connection; the autosaver pauses rather than retrying in a loop if a save is refused, and resumes once the reason clears. In practice you can build for an hour without pressing save. If the browser crashes mid-build, reopen the app and the scene is where you left it. If a save is refused, for instance because the free plan's one slot holds another scene, the autosaver waits and the work stays on the table until you upgrade, delete a scene or export this one to a file.

Export and import as plain JSON

File ▸ Export gives you the scene as a JSON document; File ▸ Import Scene JSON loads one back, with models auto-downloading from the built-in library as needed. That makes a scene portable between accounts, easy to back up outside the app, and simple for an AI assistant to author directly as a "recipe": high-level operations like fill this rectangle, wall this perimeter, scatter trees here. A typical use: before a big rebuild, export the current version as a file named crypt-v1.json so you can always go back. To pass a scene to a co-DM, send the file; they import it into their own account and the library models download on their side. A recipe is shorter than a full export, because it describes the intent while an export holds every placed object.

The tile brush selected, with the brush bar showing floor and wall materials

How many scenes you can keep

The free plan keeps one saved scene in your library; Premium keeps up to 200. Copying a scene at the limit, or opening a new one when the slot is full, opens a dialog to upgrade or delete one, and your unsaved work stays on the table either way. The limit counts scenes kept in your account, not files on your disk. A free-plan DM can keep the next session's location in the account and an archive of exported JSON files for the rest, importing each one when it is needed. Premium is $6 a month or $48 a year and also adds importing your own models.

Different from sharing a live room

Exporting and importing JSON moves a scene between accounts or machines at rest. Playing together live at one table (miniatures moving for everyone, a shared ruler, pings) is a separate feature, shared rooms, reached from the Share button once a scene is saved. The two work together. Build or import a scene, save it, then press Share to create a link. Players sign in, ask to join, and once you let them in they see the table live while you are in Play. Stop sharing ends the link. The JSON file stays yours either way, and importing it elsewhere starts a new scene with no players attached.

Questions

Is my work ever at risk of being lost?

Autosave runs continuously and is backed by IndexedDB locally, so a reload or a dropped connection does not lose the open scene. For extra safety, export a JSON copy of any scene you care about; a file on your own disk is a backup you control.

Can I edit a scene's JSON by hand or generate one with AI?

Yes, the JSON format is documented (ai/scene-format.md) specifically so it can be authored by hand or by an AI assistant, then loaded with File ▸ Import Scene JSON. The repository tests check the worked examples in ai/examples, and a recipe placed there is checked the same way.

How many scenes can I keep saved?

One on the free plan, up to 200 on Premium ($6/mo or $48/yr); re-saving, renaming and deleting an existing scene are never limited. At the limit, a dialog lets you upgrade or delete a scene; nothing on the table is lost while you decide.

Is exporting a scene the same as sharing a live room?

No. Export and import moves a scene as a file. Playing live with others at one table is shared rooms, a separate feature reached from Share. A room needs the scene saved in your account first, so import a file and save it before you share it.

Ready to put a map on the table?

Open the builder and start, no account needed. Sixteen starter scenes are on the welcome screen; sign up free when you want to save one or play it with your group.