Migrating from LastPass to KeePassXC
I’ve never really felt all that good about storing my passwords on the public cloud, but after we started using LastPass at work I somehow got lulled into adopting it for personal use as well.
I’ve been pondering the reasons as to why I’m now depending on this piece of proprietary software that’s happily storing all my sensitive credentials on somebody else’s server. Sadly, the answer is that I’m just that lazy and LastPass made things very convenient.
Anyhow, it’s finally time to smell the hobbit and retake control of my precious. Enter KeePassXC, a free and open-source password manager. As faith would have it, a fork of KeePassX, the password manager I was previously using before moving everything off to LastPass.
Exporting data from LastPass
Thankfully, LastPass has made it easy to export and migrate your data by allowing it to be exported as a CSV file. Using the LastPass extension, simply navigate to:
More options => Advanced => Export => LastPass CSV file and save the resulting file using the .csv extension.
Let’s examine the exported file from LastPass. The following file consists of two regular sites and a secure note. The content of the file is available in clear text so we can observe both user credentials and the database configuration for this site:
url,username,password,extra,name,grouping,fav https://blog.paranoidpenguin.net/wp-login.php,Potus,3R2PQ^&UuOOQ@zsflq9@20d0,,paranoidpenguin.net,Blog,0 https://blog.paranoidpenguin.net/wp-login.php,roger.comply,MEZ2zTCVk!wG4lRpQ$)m%Agg,,paranoidpenguin.net,Blog,0 http://sn,whosparanoid,LrhIxQRhMGs5H$YCDrhv,"NoteType:Database Type:MySQL Hostname:localhost Port:3306 Database:paranoid Username:whosparanoid Password:LrhIxQRhMGs5H$YCDrhv SID: Alias: Notes:Database configuration for blog.paranoidpenguin.net",paranoidpenguin.net - DB,Secure Notes,0
The columns from the export are arranged in the following order, which will have significance when the CSV file is to be imported with KeePassXC:
url: column1 username: column2 password: column3 extra: column4 name: column5 grouping: column6 fav: column7
Importing a CSV file with KeePassXC
Fire up KeePassXC and select
Database => Import => Import CSV file. Choose a password and optionally add a key file before hitting the “OK” button. Next, we’ll enter the CSV import screen to map the columns from the export file against KeePassXC’s corresponding columns. The mapping itself is rather straightforward.
KeePassXC Group: LastPass column6 KeePassXC Title: LastPass column5 KeePassXC Username: LastPass column2 KeePassXC Password: Lastpass column3 KeePassXC Url: LastPass column1 KeePassXC Notes: LastPass column4 KeePassXC Last modified: LastPass Not present in CSV file KeePassXC Created: LastPass Not present in CSV file
The following image shows KeePassXC’s import CSV fields screen with the column mapping applied as earlier specified:
The next image shows the entry for the converted “database note type” from LastPass (secure notes) after running the import.
KeePassXC also provides official browser extensions for Firefox, Google Chrome, Chromium and Vivaldi. I’ve been experimenting with the Firefox extension and found it to be working as advertised, without any complications. The animated gif below shows the browser extension in its full glory.
Please refer to How to connect KeePassXC-Browser with KeePassXC for a quick tutorial on configuring browser integration.
My thanks to the KeePassXC developers for providing us with the best cross-platform free and open-source password manager. Goodbye LastPass and thanks for all the fish.
Btw, seeing how I managed to publish the credentials for my admin account, I guess that means I’m finally open to accepting those guest posts ;-)