Backup & Restore
One file holds everything, images included. Here is how to make it and how to put it back.
Your chats, characters, lorebooks, presets and generated images live only in this browser's private storage. There is no copy on our servers, so nothing is restored for you if the browser clears its storage, the device dies, or you switch to another one.
A backup is a single database file you keep yourself. It contains everything, images included, and restoring it brings the app back exactly as it was.
In chat, open the actions menu (top right) and choose Local DB browser, then the download button.
- Open the chat actions menu and pick Local DB browser.
- Click the download icon to open the options.
- Leave the boxes at their defaults for a full backup, then confirm the download.
- Save the .sqlite3 file somewhere durable: a cloud drive, not just the device it came from.
The three checkboxes decide what goes in:
| Option | Default | What it does |
|---|---|---|
Include chats | On | Conversations and messages. Turn it off to back up only characters, lorebooks, presets and settings. |
Include media | On | Every image, attachment and generated picture. This is the big one: leaving it on is what makes a backup complete, and also what makes it large. |
Include request logs | Off | Per-request debug snapshots. Off by default; they are only useful for diagnosing a specific request. |
Your saved custom provider API keys are part of the backup, so a restore does not leave you re-entering them. Treat the file as private for that reason.
Restoring replaces what is currently in this browser with the contents of the file.
- Open the chat actions menu and pick Local DB browser.
- Click the upload button and confirm that you want to replace the current data.
- Select your .sqlite3 backup file.
- Wait for the summary toast, then let the page reload.
The import is safe against interruption: a complete replacement is built first and only swapped in once it is verified, with a backup kept until then. If it fails halfway, your existing data stays.
A backup from a different account or an older version of the app restores cleanly too. It is upgraded to the current format and re-assigned to whoever is signed in now.
Images dominate the file size, and are stored in a text form that adds roughly a third on top of their real size. A library of generated images can therefore turn into a backup of several hundred megabytes.
Browsers become unreliable at downloading files past about 500 MB, so a very large backup can fail to save at all. If that happens, take two: one with Include media turned off (small, holds every chat, character and setting) and, if you want the pictures, download the images you care about individually from the gallery.
Keeping the image library trimmed is the more comfortable long-term habit: delete generations you do not want to keep before backing up.
Back up on the old device, transfer the file, restore on the new one. That is the whole process.
The storage is per browser and per account, so a backup is also how you carry data between two browsers on the same machine, or between guest use and a signed-in account.
For a single conversation, the export in the chat actions menu is lighter than a full backup, and can also produce a SillyTavern-compatible file.
| What you see | What to do |
|---|---|
| The download fails or the tab crashes | The file is too big for the browser. Back up again with Include media off, and save images separately. |
| The app looks empty after a browser update or crash | Do not generate new data. Open the Local DB browser and try Recover first, which extracts data the browser dropped; restore your backup if that finds nothing. |
| The restore summary mentions skipped rows | Normal. Rows already present are not duplicated, and anything the current version no longer uses is left out. |
| On iPhone the file goes somewhere unexpected | iOS saves it through the normal download flow into Files. Pick it from there when restoring, and move it into a cloud folder so it survives the device. |