A better way to migrate your data from Bitwarden to 1Password
I have been using Bitwarden for the better part of a decade. When I started using it, it was a relatively small open-source project maintained well, and supported well, mostly by a single person. Then it started chasing after growth and VC funding, and things gradually started to go downhill. Recently, the frequency at which Bitwarden introduces annoying new bugs into shipped product has increased dramatically. While correlation is not causation, it is worth noting that it has also recently gone all in on generative AI. This has prompted me to decide that it’s time to think about switching from Bitwarden to 1Password.
Why 1Password? Because their security architecture is rock solid, they’re extremely transparent about it, to my knowledge they’ve never suffered a security breach impacting customer data, I’m familiar with them from previous jobs, I know they have the functionality I need, and last but not least, my current job is using it which means as long as I am working there I get 1Password Families for free.
Fortunately I haven’t yet jumped onto the passkeys bandwagon (until I can export passkeys, back them up to my own storage, and import them from my backup to another vendor of my own choice, they are not an acceptable alternative for me), so I’ve got no passkeys in Bitwarden that I need to worry about replacing. However, I had thousands of other data in Bitwarden that I needed to migrate into 1Password, and the import functionality provided for this by 1Password wasn’t good enough:
- It only handles personal Bitwarden data, not data in a Bitwarden organization such as my family’s Bitwarden account.
- It doesn’t handle attachments, which is understandable since Bitwarden’s export functionality doesn’t export them.
- I’m not sure it does anything intelligent with Bitwarden folders.
I wanted to do better.
Fortunately, I’ve already previously written and shared a tool, bitwarden-backup.py, for exporting all data including attachments from Bitwarden, so all I needed to do was figure out how to import that data into 1Password. For that, I’ve just written and shared 1password-from-bitwarden-backup.py.
The script successfully migrates most data in Bitwarden items into 1Password, including turning Bitwarden folders into 1Password tags and mapping Bitwarden collections into 1Password vaults. You can customize the collections to vaults logic to organize things the way you want in 1Password without having to move things around in Bitwarden. It’s also smart enough not to reimport items twice if you run it multiple times.
Share and enjoy!
#1Password #Bitwarden