Background
Originally raised by @TomieAi in discussion #373.
A user lost their saved passwords in Microsoft Edge's UI (autofill still works internally, but the password manager list is empty, and "repair Edge" doesn't restore it). They successfully recovered the cleartext entries via HackBrowserData, but cannot re-import them back into Edge because the current CSV export doesn't match the schema Chrome/Edge expect.
Current behavior
password.csv is exported with columns:
url, username, password, created_at
Expected behavior
Chrome and Edge's "Import passwords" feature requires a CSV whose header row is exactly:
name, url, username, password, note
Any other column set / order is rejected by the importer.
Proposed solution
Add a dedicated output format (e.g. -f chromium-import) that emits a Chrome/Edge-compatible password CSV without altering the existing csv / json outputs (which would break existing user scripts).
name → derive from origin URL host (e.g. accounts.google.com)
url → existing origin_url
username, password → existing fields
note → empty string (Chromium's logins.notes column is rarely populated)
Notes
- Pure additive change; no schema break for current consumers.
- Only applies to the
passwords category — other categories keep their current formats.
Background
Originally raised by @TomieAi in discussion #373.
A user lost their saved passwords in Microsoft Edge's UI (autofill still works internally, but the password manager list is empty, and "repair Edge" doesn't restore it). They successfully recovered the cleartext entries via HackBrowserData, but cannot re-import them back into Edge because the current CSV export doesn't match the schema Chrome/Edge expect.
Current behavior
password.csvis exported with columns:Expected behavior
Chrome and Edge's "Import passwords" feature requires a CSV whose header row is exactly:
Any other column set / order is rejected by the importer.
Proposed solution
Add a dedicated output format (e.g.
-f chromium-import) that emits a Chrome/Edge-compatible password CSV without altering the existingcsv/jsonoutputs (which would break existing user scripts).name→ derive from origin URL host (e.g.accounts.google.com)url→ existingorigin_urlusername,password→ existing fieldsnote→ empty string (Chromium'slogins.notescolumn is rarely populated)Notes
passwordscategory — other categories keep their current formats.