Buttercup to KeePass exporter

Buttercup to KeePass exporter

Do you like our work......we hire!

Never miss our publications about Open Source, big data and distributed systems, low frequency of one email every two months.

Buttercup is a password manager which works on all major platforms including Linux, macOS, Windows, iOS and Android. On March 3rd, Buttercup’s main contributor Perry Mitchell announced the retirement of the project. The news was received with sadness within the users community but also with great respect. Most of us are contributors to the open source community and understand the burden of sustaining popular projects.

I have been a Buttercup fan since its announcement on HackerNews 9 news ago. Using a password manager is a must-have, to not say a requirement. I oriented my choice to the KeePass ecosystem for two main reasons. First, I am fairly confident with the involvement and the sustainability of the community. Second, I have been using KeepPassXC prior to ButterCup and its functionalities suit my usage.

Having several hundred entries in my vault, a manual migration would have been painful. To ease the transition, I published a short script which reads a vault and extracts its information into a CSV suitable for KeePassXC import.

The project is named buttercup-to-keepass. It is open source and it is written as a Node.js package.

Installation

The Node.js npx command downloads and executes the script.

npx buttercup-to-keepass --help

Alternatively, the project is cloned and initialised locally.

git clone https://github.com/adaltas/buttercup-to-keepass.git
cd buttercup-to-keepass
npm install
node index.js --help

Usage

The script requires the vault location, its master password as well as the CSV destination.

OTP code can be imported to KeePass with the -opt (-o) option.

node index.js \
  --source ~/Downloads/buttercup.bcup \
  --password my-secret \
  --target ~/Downloads/buttercup.csv \
  -o otp \
  -o "2FA Auth"

The full list of available options is:

  • -c --columns
    Print column names in the first line.
  • -h --help
    Display help information
  • -i --info
    Print the vault structure to stdout.
  • -o --otp
    List of attributes interpreted as OTP code.
  • -p --password
    Buttercup vault password Required.
  • -s --source
    Buttercup vault location Required.
  • -t --target
    CSV exported file location Required.

Import

Importing the CSV file is rather straightforward. In KeePassXC, go to “Databases > Import > CSV file..” and select the exported CSV file. The guide asks for a database name, a description, the database password and created database location. In the import CSV field pane, use the default options.

CSV import pane

Conclusion

The script was written and shared with the hope to ease your transition from Buttercup to KeePass. Personnaly, I will wait until the last moment, propably when iOS stop supporting the mobile app. I regret the decision to retire the project but we as a community respect the motivation.

Share this article

Canada - Morocco - France

We are a team of Open Source enthusiasts doing consulting in Big Data, Cloud, DevOps, Data Engineering, Data Science…

We provide our customers with accurate insights on how to leverage technologies to convert their use cases to projects in production, how to reduce their costs and increase the time to market.

If you enjoy reading our publications and have an interest in what we do, contact us and we will be thrilled to cooperate with you.

Support Ukrain