A three-year-old import bug, fixed and then extended by the maintainer.
Resposta curta
Importing a KeePassXC CSV into Passman with the "KeePass csv" importer added no credentials. The importer only recognized KeePass 1/2 column names. The fix maps KeePassXC headers (Group, Title, Username, Password, URL, Notes) alongside the legacy ones, skips rows without a title, splits group paths on both / and \, and ignores unparseable expiry dates. A maintainer then added support for more OTP formats and better label extraction. It was merged as PR #876 and closed issue #762.
The problem
Issue #762, opened in March 2023, walked through a KeePassXC export of four accounts in nested groups. Passman reported "Read progress 3/4" and then said "It does not seem that you have any passwords."
The fix
var getLabel = function (row) {
return row.account || row.title || null;
};
...
var parsed_csv = PassmanImporter.readCsv(file_data).filter(function (row) {
return getLabel(row) !== null;
});
...
_credential.username = row.login_name || row.username || null;
_credential.url = row.web_site || row.url || null;
_credential.description = row.comments || row.notes || null;
Group paths from either group or group_tree are split on / or \ and turned into de-duplicated tags.
By the numbers
- Repository: nextcloud/passman, 829 stars (Nov 3, 2026), JavaScript, AGPL-3.0
- Files changed: 1
- Lines: +110 / -21 (the PR author's commit was +48 / -22; the maintainer's commit was +64 / -1)
- Commits: 2 (1 from the PR author, 1 from the maintainer)
- Opened: Aug 21, 2026. Merged: Aug 24, 2026. Time to merge: 3 days, 3 hours
- Review: approved and merged by the maintainer
How the review went
The maintainer added a commit, "enhance KeePass CSV importer to support additional OTP formats and improve label extraction", then approved and merged the PR.
Perguntas frequentes
Do KeePass 1/2 exports still import?
Yes. The legacy column names are still read first.
Where can I read more?
See the pull request and the original issue.
O objetivo
The people most likely to try a password manager are the ones migrating from another one. A working import path is the front door.