Source: https://wealthfolio.app/docs/guide/data-export/

# Export & Backup

Export your data to CSV, JSON, or a full SQLite database for backup, migration, or analysis in another tool.

* * *

Last updated September 10, 2026

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

1.  Open **Settings → Backup & Export → Export**.
2.  Choose **CSV**, **JSON**, or **SQLite**.
3.  For CSV or JSON, click the export button beside **Accounts**, **Activities**, **Holdings**, **Goals**, or **Portfolio History**. For SQLite, choose **Full database**.
4.  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.

![Wealthfolio Exports](https://assets.wealthfolio.app/images/docs/export.webp)![Wealthfolio Exports](https://assets.wealthfolio.app/images/docs/export-dark.webp)

* * *

## 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](https://wealthfolio.app/docs/concepts/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](https://wealthfolio.app/docs/guide/self-hosting/configuration/#wf_db_path).

* * *

## 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.

* * *

* * *
