Merge login items that belong to the same service across country domains (zalando.ch + zalando.de + fr.zalando.ch → one Zalando item). Your password data never leaves your browser.
If you've ever exported your Bitwarden vault and found amazon.com, amazon.de and amazon.fr sitting there as three separate logins with the exact same email and password — this tool is for you. It detects logins that share the same underlying service across country-code domains and merges the duplicates back into one clean item, right in your browser.
Browsers and password managers usually save one entry per domain you actually visit. Since many international sites use a different domain per country (.ch, .de, .fr, .co.uk…) for what is really the same account, your vault slowly fills up with near-identical duplicates. PassMerge strips the country suffix and subdomain to find the shared brand — fr.zalando.ch and accounts.zalando.com both become zalando — and offers to merge everything that shares a brand and username into one item with every URL attached.
cleaned.json, plus a full text report of every decision made.The CSV format is auto-detected — just export and drop the file in, no need to tell the tool what it is:
Whatever the source, the file you download back is always a Bitwarden-ready cleaned.json / cleaned.csv.
Drop your CSV file here, or
🔒 This file contains your passwords in plain text. It is never uploaded — everything runs locally in JavaScript, in this browser tab. Close the page and delete the original CSV once you're done.
The file updates automatically at every step of the review above — you can download at any point, even before finishing (anything not reviewed yet just keeps its safe default). Recommended: import cleaned.json (Bitwarden web vault → Settings → Import/export data → format .json (Bitwarden)). CSV can only keep one URL per merged item; the rest are listed in its notes.
Autofill and browser password-saving prompts often create one Bitwarden item per domain you visit — so the same account on zalando.ch, zalando.de and fr.zalando.ch ends up as three separate items instead of one. PassMerge detects the shared brand behind these domains and merges them back into one item with all the URLs attached.
Your CSV file itself is never uploaded anywhere — it's read and processed entirely as JavaScript in your own browser tab, and the output files are generated locally. The site does use privacy-conscious Google Analytics to count visits; that only sees which pages you view, never your file or its contents.
Bitwarden's own CSV export natively. The tool also auto-detects and reads exports from Chrome, Edge, Brave, Firefox, LastPass, Dashlane, Apple Passwords, NordPass and Proton Pass — the output is always a Bitwarden-ready file.
Nothing is ever discarded silently. If a password differs, you're asked which one to keep — the other variant is also written into the merged item's notes and flagged in the report.
Download cleaned.json and import it: Bitwarden web vault → Settings → Import/export data → Import data → format .json (Bitwarden). Test in an empty vault first if you're not sure.