A quick and dirty Crystal script to convert an Enpass JSON export to a KeePassXC
XML file, which can be then imported via keepassxc-cli
.
This script can migrate the following:
- Folders to Groups
- TOTP fields
- Any additional non-empty fields
- It even migrates duplicate field names!
- Sensitivity values of fields
- Adds icons for some entries
- Attempts to guess the created and updated at values of an entry
And it does not use CSV anywhere!
You only need Crystal 1.12.2 or newer.
First of all, export your existing Enpass database to JSON. This can be done via
Menu > File > Export and selecting .json
as the file format.
Then convert your exported Enpass database to XML by running this script:
crystal run enpass2keepassxc.cr -- ~/path/to/exported_passwords.json > ./imported_from_enpass.xml
Finally, create a new KeePass database using KeePassXC's CLI:
keepassxc-cli import ./imported_from_enpass.xml ~/Documents/MyPasswords.kdbx
You're done!
- Fork it (https://github.com/nilsding/enpass2keepassxc/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
- Jyrki Gadinger - creator and maintainer