= KeePassXC – Import/Export Operations
include::.sharedheader[]
:imagesdir: ../images

// tag::content[]
== Importing Databases
KeePassXC allows you to import external databases from the following options:

* Comma Separated Values (.csv)
* 1Password Export (.1pux)
* 1Password Vault (.opvault)
* Bitwarden (.json)
* Proton Pass (.json)
* KeePass 1 Database (.kdb)
* Remote database (.kdbx)

To import any of these files, start KeePassXC and either click the `Import File` button on the welcome screen or use the menu Database > Import... to launch the Import Wizard.

.Import Wizard
image::import_wizard.png[]

For each of the import options, you will be prompted to select the file to import and then provide credentials to unlock the file, if necessary. You can then choose to import the file into a new database or into an existing database that is already unlocked in KeePassXC.

=== Importing CSV File
WARNING: A CSV file is unencrypted and you should securely delete this file after successfully importing it into KeePassXC.

1. Follow the steps above and click `Continue`. The CSV import wizard will appear.

2. On this dialog you can choose the various options for properly importing the data. Analyze the output in the preview at the bottom to determine the correct import settings. You may need to re-map the column associations to match the data in your CSV file.
+
.CSV Import Wizard
image::csv_import.png[]

3. Click `Done` to complete the import. If you chose to create a new database, the New Database dialog will appear. Otherwise your entries will be nested under the group you chose for the existing database.

=== Importing from Other Applications
KeePassXC allows you to import databases from various applications including 1Password (1PUX and OPVault), Bitwarden, and Proton Pass. Each import option involves selecting the file, providing necessary credentials (if required), and choosing to import into a new or existing database. Note that CSV, 1Password Export, Bitwarden, and Proton Pass files are unencrypted and should be securely deleted after import.

==== 1Password Export
WARNING: A 1Password Export file is unencrypted and you should securely delete this file after successfully importing it into KeePassXC.

1. Open the Import Wizard as shown above. Select the 1Password Export option.

2. Click `Continue` to unlock and preview the import. Click `Done` to complete the import.

==== 1Password OPVault
NOTE: You must have 1Password version 7 or 8 to export your data to an OPVault. If you are using a newer version of 1Password, you should use the 1Password Export (1PUX) format instead.

Save your 1Password Vault locally to create an OPVault directory. Please see 1Password instructions on how to do this. Once an OPVault is created, perform the following steps:

1. Open the Import Wizard as shown above. Select the 1Password Vault option.

2. Enter the password for your vault and click `Continue` to unlock and preview the import. Click `Done` to complete the import.

==== Bitwarden
WARNING: A Bitwarden Export file may be unencrypted and you should securely delete this file after successfully importing it into KeePassXC.

1. Open the Import Wizard as shown above. Select the Bitwarden option.

2. Optionally provide a password to decrypt the Bitwarden export file. You should only need to do this if you have chosen the encrypted json export option within Bitwarden.

3. Click `Continue` to unlock and preview the import. Click `Done` to complete the import.

==== Proton Pass
WARNING: A Proton Pass Export file is unencrypted and you should securely delete this file after successfully importing it into KeePassXC.

1. Open the Import Wizard as shown above. Select the Proton Pass option.

2. Click `Continue` to preview the import. Click `Done` to complete the import.

=== Importing KeePass 1 Database
KeePass 1 database is an older format of the database created using a legacy version of KeePass. KeePassXC lets your import this older format of the database and you can seamlessly start using this database in your new KeePassXC application.

To import a KeePass 1 database file in KeePassXC, perform the following steps:

1. Open the Import Wizard as shown above. Select the KeePass1 Database option.

2. Enter the password for your database and optionally provide a key file if it was configured for your KeePass1 database.

3. Click `Continue` to unlock and preview the import. Click `Done` to complete the import.

=== Importing Remote Database
Database files that are stored in a remote location can be imported or opened with KeePassXC if you provide a command to download the file from the remote location.

To import (or temporarily open) a remote database file in KeePassXC, perform the following steps:

1. Open the Import Wizard as shown above. Select the Remote Database option.

2. Enter a command to download the remote database. If necessary, enter input that needs to be passed to the command. The command and/or input need a `{TEMP_DATABASE}` placeholder specified where the remote database is temporarily stored.

3. Enter the password for your database and optionally provide a key file.

4. Click `Continue` to unlock and preview the import. Click `Done` to complete the import.

Opening without importing a remote database is possible by selecting Temporary Database in the Import Into section of the wizard.

== Exporting Databases
KeePassXC supports multiple ways to export your database for transfer to another program or to print out and archive.

WARNING: These exports do not contain all the information in your database due to various limitations in the export format. For example, the CSV export does not support attachments, advanced attributes, Auto-Type settings, or custom icons. The XML export does not support attachments. The HTML export is mainly for printing and does not support attachments and some custom data fields.

WARNING: Exporting your database will result in all of your passwords and sensitive information being stored in an unencrypted format. We do not recommend saving your exported database for long periods of time as that can cause a compromise of sensitive information.

.Database export menu
image::export_database.png[,80%]

The HTML export file is intended to be human-readable (viewed/printed in a web browser) rather than machine-readable (re-imported into another database file). The intention of HTML export is to provide a "paper backup" functionality for those who want to ensure access to their passwords in case of catastrophic failure of IT infrastructure. To create a paper backup, export the database to an HTML file, print the file with your web browser, then delete the file.

WARNING: Creating a paper backup exposes your passwords to potentially insecure components, like printer drivers on your computer or software inside the printer. Make sure all these components can be trusted.

For more information, check out the https://keepassxc.org/blog/2020-10-03-paper-backup/[blog article about paper backups].

// end::content[]
