Evolving Passwords: Transitioning from Bitwarden to Apple Passwords

You can tell 2025 is shaping up to be a year of change for me—first transitioning from Quicken Desktop to Simplifi, and now moving from Bitwarden to Apple Passwords.

Our family’s password management journey started over a decade ago. Back then, my wife and I used a password-protected Excel spreadsheet to store all our credentials. While rudimentary by today’s standards, it worked effectively at the time.

Over time, I decided to self-host Bitwarden in my home lab and migrated our passwords from Excel. Bitwarden was a significant upgrade, offering browser extensions, mobile apps, and desktop applications. It eliminated concerns like overwriting files and came at an affordable $10 per year. However, self-hosting came with its challenges, including occasional service disruptions when the server was down, the need for regular backups, and one instance of data loss due to corruption.

Eventually, we moved to Bitwarden’s cloud version. Although the cost increased to $40 per year, it reduced maintenance overhead significantly. The cloud version worked seamlessly for us for years, but with the recent introduction of Apple’s Passwords app and us being a full Apple household, it felt like the right time to make another switch.

Migrating from Bitwarden to Apple Passwords presented some challenges. Both tools support CSV-based import/export, but their file formats differ, requiring conversion for compatibility.

Apple Passwords File Format:

  • Columns:
    • Title
    • URL
    • Username
    • Password
    • Notes
    • OTPAuth
  • Key Considerations:
    • No support for exporting Passkeys.
    • Multiple URLs for a single item are represented as separate lines, duplicating the values for Title, Username, Password, Notes, and OTPAuth.
      • When importing, Apple Passwords treats these separate lines as distinct items rather than consolidating them.

Bitwarden File Format:

  • Columns:
    • collections
    • type
    • name
    • notes
    • fields
    • reprompt
    • login_URI
    • login_Username
    • login_Password
    • login_TOTP
  • Key Considerations:
    • Multiple URLs for a single item are separated by commas.
    • Custom fields and their values are stored in the “fields” column as newlines, e.g.:
      • Line 1: Custom Field 1: Custom Field 1 Value
      • Line 2: Custom Field 2: Custom Field 2 Value.

I ended up creating a simple conversion tool that transforms a Bitwarden-exported CSV file into a format Apple Passwords can understand. You can find the tool here: bw2ap on GitHub.

After importing the file generated by the tool, I still had to manually correct a few entries, but they were trivial changes. It was a relief to have over 1,000 passwords imported seamlessly without the risks and potential errors that would have come with manually manipulating data in Excel.

This shift to Apple Passwords has aligned well with our family’s reliance on Apple’s ecosystem, providing seamless integration and convenience, even if it meant some initial effort to make the migration process work. Hopefully, the tool also helps you.

comments

This site uses Akismet to reduce spam. Learn how your comment data is processed.