Export & Backup
Export your data to CSV, JSON, or a full SQLite database for backup, migration, or analysis in another tool.
Last updated
Open Settings → Backup & Export. The Backup tab manages database backups and restores; the Export tab exports data for use elsewhere or creates a SQLite backup.
1 · Run an export
- Open Settings → Backup & Export → Export.
- Choose CSV, JSON, or SQLite.
- For CSV or JSON, click the export button beside Accounts, Activities, Holdings, Goals, or Portfolio History. For SQLite, choose Full database.
- Complete the save dialog or download offered by your platform. Desktop SQLite exports ask for a folder; iOS uses the native file picker. In web mode, SQLite backups are saved on the server and can be downloaded from the Backup tab.


2 · Pick the right format
| Format | When to use |
|---|---|
| CSV | Loading into a spreadsheet, sharing one table with someone, importing into another tool. |
| JSON | Programmatic processing, scripts, custom dashboards. Preserves nested structures CSV flattens out. |
| Full database | Complete backup or migration to a new machine. One SQLite file containing every table and every row. |
For a backup before a big change (a major version upgrade, a bulk delete, a tax-time checkpoint) → use Full database. It preserves the database tables needed for a full restore. CSV and JSON exports do not include a complete restorable database.
Exported activity amounts use the saved final total, including fees and taxes. Do not subtract those charges again in a spreadsheet. Splits and security transfers have special meanings; see Activity Fields.
3 · Round-trip restore
Create a backup
Open Settings → Backup & Export → Backup:
- Desktop: create a backup and choose the destination folder.
- iOS: create a backup and use the native file picker to save it to Files.
- Web: create a server backup. The list lets you download a copy or delete a saved backup after confirmation. Download a copy if you need a backup outside the server.
Backups are self-contained SQLite .db files. Native backup and restore are currently
supported on desktop and iOS; other mobile platforms do not offer these actions.
Restore in the app
On desktop or iOS, open the Backup tab, choose the restore action, and select your backup database file. A full SQLite export can also be used.
Restoring replaces your current database with the backup; it does not merge the two. Save a current backup before proceeding. CSV and JSON exports cannot be used for a full restore.
On desktop, Wealthfolio creates a pre-restore backup and prompts you to restart after restoration. Follow the app’s prompts, then check your accounts and latest activities.
Restore a self-hosted instance
Web mode has no restore upload action. Stop Wealthfolio (or its container), move the current
database aside, and replace the database file at the path set by WF_DB_PATH with your
backup (default ./db/app.db). Restart and verify the restored data. See
Configuration.
4 · Where the database file lives if you’d rather copy it
Prefer the built-in backup action while the app is running. For a manual desktop restore,
close Wealthfolio, move the existing app.db aside, copy your backup to the data directory
as app.db, and reopen the app:
- macOS:
~/Library/Application Support/com.teymz.wealthfolio/ - Windows:
%APPDATA%\com.teymz.wealthfolio\ - Linux:
~/.local/share/com.teymz.wealthfolio/
Stop the app before copying database files manually, or use SQLite’s online backup mechanism for a live copy. Keep the old database until you have verified the restore.
5 · Scheduled exports?
There’s no built-in scheduler today; exports are manual. If you need automated backups:
- Self-hosted: snapshot the data volume with your container/host’s backup tool (e.g.
restic,borg, Proxmox snapshots, Unraid backup plugins). - Desktop: include the Wealthfolio data directory in your normal backup tool (Time Machine, Windows File History, Restic).
Both approaches give you point-in-time recovery without trusting any cloud, and they keep working even if Wealthfolio’s export UI changes.