Movepasswords

HomeConverters › Bitwarden to KeePassXC

Bitwarden to KeePassXC converter

Bitwarden and KeePassXC both use CSV, but Bitwarden writes 11 columns; KeePassXC expects 7 in a different order — so KeePassXC rejects a raw Bitwarden export or silently files everything into the wrong fields. Drop your export below and get back a file KeePassXC accepts.

Convert your Bitwarden export

Drop your Bitwarden CSV here or click to choose a file — nothing is uploaded

The conversion runs entirely in this tab using JavaScript. Your file is never sent to a server — you can confirm it by opening your browser's Network tab, or by turning off Wi-Fi before you drop the file in. Prefer not to do this in a browser tab at all? Download the converter and run it from your own disk.

Your export file is plaintext. Both the file Bitwarden gives you and the one you download here contain every password in readable form. Delete them as soon as the import is verified, and empty your trash.

What's actually different between the two formats

Only 1 of 11 column names match (notes), and they're in a different order — enough for KeePassXC to accept the file and then put your passwords in the wrong fields.

Bitwarden columnKeePassXC columnWhat happens
name Title Renamed and repositioned
login_username Username Renamed and repositioned
login_password Password Renamed and repositioned
login_uri URL Renamed and repositioned
login_totp TOTP Renamed and repositioned
notes Notes Renamed and repositioned
folder Group Renamed and repositioned
favorite — none — KeePassXC has no favorite field. Written into notes instead of dropped.

What carries over

FieldBitwardenKeePassXCResult
Item name / title Yes Yes Carried over
Username and password Yes Yes Carried over
Website URL Yes Yes Carried over
Notes Yes Yes Carried over
Folders / groups Yes Yes Carried over
Two-factor (TOTP) secrets Yes Yes Carried over
Favorites Yes No Dropped — re-star your important entries after importing.
Custom fields Yes No Flattened into notes as name: value pairs.
Multiple URLs per entry Yes No First URL kept; the rest appended to notes.
File attachments Yes No No CSV export includes attachments. Download them out of Bitwarden separately before you close the account — this is the one thing people lose permanently.

Step 1 — Export from Bitwarden

  1. Open the Bitwarden web vault at vault.bitwarden.com and sign in.
  2. Go to Tools → Export vault.
  3. Choose .csv as the file format (or .json to keep custom fields and multiple URIs).
  4. Enter your master password and select Export vault.

Official instructions: Bitwarden export documentation

Watch out for

Step 2 — Convert it

Drop the file onto the converter above. It parses Bitwarden's layout, maps each field onto the universal record, then writes KeePassXC's exact expected columns — including the empty ones its importer requires and, where the two differ, the right shape for 2FA secrets. You'll see a preview and a list of anything KeePassXC can't hold before you download.

Rather not put this file in a browser tab connected to the internet? The same converter is available as a single HTML file you can download and open with your network switched off.

Step 3 — Import into KeePassXC

  1. In KeePassXC choose Database → Import → CSV file.
  2. Select the converted file.
  3. Confirm the column mapping in the preview — KeePassXC lets you assign each column by hand.
  4. Set a master password for the new database.

Watch out for

Step 4 — Verify and clean up

  1. Open ten entries in KeePassXC at random and check them against Bitwarden.
  2. Generate a 2FA code for one account in KeePassXC and confirm it matches Bitwarden. A TOTP secret that imported wrong fails silently until you're locked out.
  3. Sign in to one real site using KeePassXC to confirm autofill works.
  4. Delete both CSV files and empty your trash. If your Downloads folder syncs to iCloud, OneDrive or Dropbox, confirm the deletion propagated there too.
  5. Only then close your Bitwarden account — and change any password you suspect was exposed while the plaintext file existed.

Questions

Why won't KeePassXC import my Bitwarden file directly?

Only 1 of 11 column names match (notes), and they're in a different order — enough for KeePassXC to accept the file and then put your passwords in the wrong fields. The converter rewrites the file into KeePassXC's exact expected layout, including the column order and any empty columns its importer requires.

Do my passwords get uploaded anywhere?

No. The conversion is JavaScript running in your own browser tab — the file is read with the FileReader API, transformed in memory, and handed back to you as a download. There is no upload, no server-side processing and no analytics attached to the file. You can verify this by disconnecting from the internet before you drop the file in: the conversion still works.

What gets lost moving from Bitwarden to KeePassXC?

KeePassXC can't natively store: favorites, custom fields, multiple urls per entry, file attachments. Rather than drop that data, the converter writes it into the notes field where KeePassXC has one, so you can move it back by hand. Keep your Bitwarden account active until you've confirmed everything you need made it across.

Will my two-factor codes still work after the move?

Yes, as long as Bitwarden exported the secrets. Bitwarden and KeePassXC store them in different shapes — one uses a bare Base32 secret, the other a full otpauth:// URI — and the converter translates between them, which is the step most manual migrations get wrong. Check a couple of codes against your old vault before you delete it, since a TOTP secret that fails to import is silent until you're locked out.

Is the export file from Bitwarden encrypted?

No. A Bitwarden CSV export is plaintext — every password in it is readable by anything that can open the file, including other apps on your machine and anything that syncs your Downloads folder to the cloud. Convert it, import it, then delete both files and empty your trash. If your Downloads folder syncs to iCloud, OneDrive or Dropbox, check that the deletion propagated.

Anything unusual about Bitwarden's export?

Bitwarden prefixes bare domains with http:// on import. If you care about https, put the full URL in the login_uri column.

Anything unusual about importing into KeePassXC?

KeePassXC CSV export writes attachments and entry history nowhere — if you need those, keep the .kdbx file as your archive.

Related converters

Other routes out of Bitwarden

Other ways into KeePassXC

Moving the other way? KeePassXC Bitwarden · All 210 converters