Home › Converters › Keeper to Bitwarden
Keeper to Bitwarden converter
Keeper and Bitwarden both use CSV, but the two formats don't line up — so Bitwarden rejects a raw Keeper export or silently files everything into the wrong fields. Drop your export below and get back a file Bitwarden accepts.
Convert your Keeper export
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.
What's actually different between the two formats
Keeper exports without a header row, so the destination has no way to know which column is which.
| Keeper column | Bitwarden column | What happens |
|---|---|---|
column 2 | name | Renamed and repositioned |
column 3 | login_username | Renamed and repositioned |
column 4 | login_password | Renamed and repositioned |
column 5 | login_uri | Renamed and repositioned |
— none — | login_totp | Left empty — Keeper exports nothing for this. |
column 6 | notes | Renamed and repositioned |
column 1 | folder | Renamed and repositioned |
— none — | favorite | Left empty — Keeper exports nothing for this. |
What carries over
| Field | Keeper | Bitwarden | Result |
|---|---|---|---|
| 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 | No | Yes | Not in the source file |
| Custom fields | Yes | Yes | Carried over |
| Multiple URLs per entry | No | Yes | Not in the source file |
| File attachments | Yes | No | No CSV export includes attachments. Download them out of Keeper separately before you close the account — this is the one thing people lose permanently. |
Step 1 — Export from Keeper
- Sign in to the Keeper Web Vault.
- Open the account menu → Settings → Export.
- Choose the .csv format and confirm.
Watch out for
- Keeper CSV has no header row. The column order is fixed: folder, title, login, password, website, notes, shared folder, then custom field name/value pairs. Adding a header row makes Keeper import it as an entry.
- Subfolders use a backslash: Work\Clients. Forward slashes stay literal.
Step 2 — Convert it
Drop the file onto the converter above. It parses Keeper's layout, maps each field onto the universal record, then writes Bitwarden'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 Bitwarden 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 Bitwarden
- Sign in to the Bitwarden web vault at vault.bitwarden.com.
- Go to Tools → Import data.
- Under "File format", pick Bitwarden (csv).
- Choose the converted file and select Import data.
Official instructions: Bitwarden import documentation
Watch out for
- Bitwarden prefixes bare domains with http:// on import. If you care about https, put the full URL in the login_uri column.
- The free plan allows only two collections in an organization vault — import to your personal vault if your folder count is higher.
Step 4 — Verify and clean up
- Open ten entries in Bitwarden at random and check them against Keeper.
- Generate a 2FA code for one account in Bitwarden and confirm it matches Keeper. A TOTP secret that imported wrong fails silently until you're locked out.
- Sign in to one real site using Bitwarden to confirm autofill works.
- Delete both CSV files and empty your trash. If your Downloads folder syncs to iCloud, OneDrive or Dropbox, confirm the deletion propagated there too.
- Only then close your Keeper account — and change any password you suspect was exposed while the plaintext file existed.
Questions
Why won't Bitwarden import my Keeper file directly?
Keeper exports without a header row, so the destination has no way to know which column is which. The converter rewrites the file into Bitwarden'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 Keeper to Bitwarden?
Bitwarden can't natively store: file attachments. Rather than drop that data, the converter writes it into the notes field where Bitwarden has one, so you can move it back by hand. Keep your Keeper 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 Keeper exported the secrets. Keeper and Bitwarden 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 Keeper encrypted?
No. A Keeper 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 Keeper's export?
Keeper CSV has no header row. The column order is fixed: folder, title, login, password, website, notes, shared folder, then custom field name/value pairs. Adding a header row makes Keeper import it as an entry.
Anything unusual about importing into Bitwarden?
Bitwarden prefixes bare domains with http:// on import. If you care about https, put the full URL in the login_uri column.
Related converters
Other routes out of Keeper
- Keeper → 1Password
- Keeper → Apple Passwords
- Keeper → Dashlane
- Keeper → Enpass
- Keeper → Google Chrome
- Keeper → KeePassXC
- Keeper → LastPass
- Keeper → Microsoft Edge
- Keeper → Mozilla Firefox
- Keeper → NordPass
- Keeper → Proton Pass
- Keeper → RoboForm
- Keeper → Safari
Other ways into Bitwarden
- 1Password → Bitwarden
- Apple Passwords → Bitwarden
- Dashlane → Bitwarden
- Enpass → Bitwarden
- Google Chrome → Bitwarden
- KeePassXC → Bitwarden
- LastPass → Bitwarden
- Microsoft Edge → Bitwarden
- Mozilla Firefox → Bitwarden
- NordPass → Bitwarden
- Proton Pass → Bitwarden
- RoboForm → Bitwarden
- Safari → Bitwarden
Moving the other way? Bitwarden → Keeper · All 210 converters