{"id":16777284,"url":"https://github.com/spantaleev/keepassxc-csv-title-populator","last_synced_at":"2025-10-04T09:31:12.170Z","repository":{"id":138308887,"uuid":"578515644","full_name":"spantaleev/keepassxc-csv-title-populator","owner":"spantaleev","description":"Small utility for fixing up KeePassXC CSV exports - populates empty Title fields from the URL","archived":false,"fork":false,"pushed_at":"2022-12-15T08:43:31.000Z","size":1,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-11-22T18:59:49.120Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spantaleev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-15T08:39:52.000Z","updated_at":"2022-12-15T08:40:08.000Z","dependencies_parsed_at":"2024-06-19T18:39:57.345Z","dependency_job_id":"2ef7e3ad-20e2-489e-a519-4cea809766ed","html_url":"https://github.com/spantaleev/keepassxc-csv-title-populator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spantaleev%2Fkeepassxc-csv-title-populator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spantaleev%2Fkeepassxc-csv-title-populator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spantaleev%2Fkeepassxc-csv-title-populator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spantaleev%2Fkeepassxc-csv-title-populator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spantaleev","download_url":"https://codeload.github.com/spantaleev/keepassxc-csv-title-populator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235233169,"owners_count":18957064,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T07:24:15.215Z","updated_at":"2025-10-04T09:31:06.907Z","avatar_url":"https://github.com/spantaleev.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KeePassXC CSV export title populator\n\nThis utility transforms a CSV file exported by [KeePassXC](https://keepassxc.org/) and populates empty **Title** fields with the parsed hostname from the **URL** field.\n\nIf the **URL** field does not contain a valid URL for some reason, `Unknown` is used for the **Title**.\n\nAll other columns (besides the **Title** column) are left untouched.\n\n\n## Reason\n\nWhen passwords are imported from Mozilla Firefox into KeePassXC, they would have an empty **Title**.\n\nThis is generally OK (when using KeePassXC), but may cause trouble when the passwords are further migrated from KeePassXC to another system (like [Bitwarden](https://bitwarden.com/) or [Vaultwarden](https://github.com/dani-garcia/vaultwarden)).\n\nWhen importing passwords that lack a **Title** into Bitwarden (Vaultwarden), the import would succeed, but records not having a title:\n\n- would be hard to click in the web-vault user interface\n- would necessitate that a title (name) is assigned when attempting to edit them\n\nTo fix up your KeePassXC database and import it into Bitwarden/Vaultwarden, follow these steps:\n\n1. Export the KeePassXC database to CSV\n2. Use this tool to fix up its empty **Title** columns. See [Usage](#usage)\n3. Import the newly-created CSV file into a new KeePassXC database. Verify that it looks OK.\n4. Export this new KeePassXC database as XML\n5. Import the XML file into Bitwarden / Vaultwarden\n\n\n## Usage\n\n```\ngo run main.go /path/to/input.csv /path/to/output.csv\n```\n\n\n## Example\n\n### Before\n\n| Group | Title            | Username | Password | URL                            | More columns here |\n| ----- | ---------------- | -------- | -------- | ------------------------------ | ----------------- |\n| Root  | Some Title       | john     | password | https://example.com            |  ....             |\n| Root  |                  | peter    | password | https://example.com            |  ....             |\n| Root  |                  | frank    | password | https://another.com            |  ....             |\n| Root  |                  | george   | password |                                |  ....             |\n\n### After\n\n| Group | Title            | Username | Password | URL                            | More columns here |\n| ----- | ---------------- | -------- | -------- | ------------------------------ | ----------------- |\n| Root  | Some Title       | john     | password | https://example.com            |  ....             |\n| Root  | example.com      | peter    | password | https://example.com            |  ....             |\n| Root  | another.com      | frank    | password | https://another.com            |  ....             |\n| Root  | Unknown          | george   | password |                                |  ....             |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspantaleev%2Fkeepassxc-csv-title-populator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspantaleev%2Fkeepassxc-csv-title-populator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspantaleev%2Fkeepassxc-csv-title-populator/lists"}