Movepasswords

Home › How it works

How the conversion works

Every converter here is the same two steps: read the source file into one universal record shape, then write that shape out in the destination's exact layout. What follows is what happens in between, and where data gets stuck.

The universal record

Rather than write a bespoke converter for each of the hundreds of possible routes, every source file is parsed into a single intermediate record: name, username, password, one or more URLs, TOTP secret, notes, folder, favorite flag, and a bag of leftover fields. Serializers then write that record out in the target's format. Adding a manager means writing one parser and one serializer, not fifty converters.

Columns are matched by name, not position. Website Address, website_address and websiteAddress all normalize to the same key, so a file that doesn't quite match the documented schema — because the vendor shipped a new app version — still converts.

Two-factor secrets

This is the field converters most often break. Some managers store a bare Base32 secret (JBSWY3DPEHPK3PXP); others store a full otpauth://totp/… URI carrying the issuer, account, digit count and period. Apple's Passwords app accepts only the URI form and silently ignores bare secrets. LastPass and NordPass write bare secrets. Feeding one to the other produces an entry that looks fine and never generates a working code.

Every secret is parsed into its parts on read and re-emitted in whichever shape the destination wants, reconstructing the issuer and account label from the entry when the source didn't supply one. Verify at least one code before you delete your old vault — this failure is silent until you're locked out.

What can't carry across

When the destination has no field for something, the data goes into the notes field prefixed with a label (Folder: Work, TOTP secret: …) rather than being dropped. It isn't functional there, but it's recoverable by hand. Each converter page lists exactly what fell into this bucket for your specific file before you download it.

File attachments are the exception. No password manager includes attachments in a CSV export — not one. If you have documents, license keys or scanned IDs stored in your vault, download them separately before you close the old account. This is the single most common thing people lose permanently in a migration.

Entry history, password-change timestamps, and shared-vault permissions also don't survive a CSV round trip. Some managers offer a richer export format — Bitwarden's JSON and 1Password's .1pux — that keeps custom fields and multiple URLs. Where the source supports it, prefer it.

Why it runs in your browser

A password manager export is the most sensitive file you will ever have on disk: every credential you own, in readable text, with no encryption. Uploading that to anyone's server — including ours — would mean trusting a stranger's TLS termination, logging configuration, error reporting and backup retention with the whole set.

So nothing is uploaded. The file is read with the browser's FileReader, transformed in memory, and handed back as a Blob download. There is no fetch call in the converter, and nothing is written to localStorage, sessionStorage or IndexedDB, so the file can't outlive the tab. You can check this yourself: open your browser's Network tab while converting, or just turn off Wi-Fi first — it works either way.

If you would rather the file never sat in a networked browser tab in the first place, the offline version is the same converter as a single HTML file you download and open from disk.

Hygiene checklist

  1. Do the whole migration in one sitting. Don't leave the export sitting in Downloads overnight.
  2. Convert and import, then verify ten entries against the old vault.
  3. Delete both CSV files and empty your trash.
  4. If Downloads syncs to iCloud, OneDrive, Dropbox or Google Drive, confirm the deletion propagated — a synced copy is the usual way one of these files survives.
  5. Turn on two-factor authentication in the new manager before you close the old account.
  6. Rotate anything critical. A plaintext file existed on your machine, however briefly.

Managers currently supported

ManagerFolders2FACustom fieldsMultiple URLs
Bitwarden Yes Yes Yes Yes
1Password Yes Yes No No
LastPass Yes Yes Yes No
Google Chrome No No No No
Dashlane Yes Yes No No
KeePassXC Yes Yes No No
NordPass Yes Yes No No
Proton Pass Yes Yes No No
Keeper Yes Yes Yes No
Mozilla Firefox No No No No
Apple Passwords No Yes No No
RoboForm Yes Yes Yes No
Enpass Yes Yes No No
Microsoft Edge No No No No
Safari No Yes No No

Capabilities refer to what each manager's CSV import/export supports, not the app as a whole.