Skip to main content

Export Bitwarden vault

Project description

Bitwarden Exporter

Python Wrapper for Password Manager CLI for exporting bitwarden vaults to KeePass.

Features

  • Comprehensive data mapping
    • Credentials
    • URIs (Compatible with keepass URL)
    • Notes (Compatible with keepass note)
    • TOTP codes (Compatible with keepass totp)
    • Custom Fields (Compatible with additional attributes)
    • Identity/Cards (Backup only, not supported by Keepass yet)
    • Attachments (Compatible with keepass attachment)
    • SSH keys (Compatible with keepass ssh and attachments)
    • Fido U2F Keys (Backup only, not supported by Keepass yet)
  • Preserves vault structure
    • Collection and Folder hierarchy is preserved as Keepass groups.
  • Built-in JSON snapshot of vault data for auditing.
  • Configurable CLI with options for duplicates handling, custom temp directory, debug logging, and Bitwarden CLI path.

Bitwarden Web Bitwarden Web

Structure TOTP Structure TOTP

Other screenshots.

Prerequisites

Installation

(Recommended) Run with uvx from PyPI

BW_SESSION=<session token> uvx bitwarden-exporter==VERSION --help

or

BW_SESSION=<session token> uvx bitwarden-exporter --help

Run it from source

BW_SESSION=<session token> uvx git+https://github.com/arpanrec/bitwarden-exporter.git@main bitwarden-exporter --help

Install with pipx from PyPI

BW_SESSION=<session token> pipx install bitwarden-exporter

Options

Run bitwarden-exporter --help to see all available options.

Required Options

--export-password, -p

Required - Password for the exported KeePass database.

You can provide the password in multiple ways:

  • Direct value: --export-password "my-secret-password"
  • From file: --export-password file:secret.txt
  • From environment: --export-password env:SECRET_PASSWORD
  • From vault (JMESPath expression): --export-password "jmespath:[?id=='xx-xx-xx-xxx-xxx'].fields[] | [?name=='export-password'].value"

Optional Configuration

--export-location, -l

Path for the exported KeePass database file.

  • Default: bitwarden_dump_<timestamp>.kdbx
  • Note: If the file exists, it will be overwritten.

--allow-duplicates, -d

Allow duplicate entries in the export. Since Bitwarden items can belong to multiple collections, this option controls whether to create duplicate entries in KeePass.

  • Default: --no-allow-duplicates

--tmp-dir, -t

Custom temporary directory for storing temporary sensitive files during export.

  • Default: System temporary directory
  • ⚠️ Security Note: Make sure to delete this directory after export.

--bw-executable, -e

Path to the Bitwarden CLI executable.

  • Default: bw (from system PATH)

--version

Show the version and exit.

--debug

Enable verbose logging for troubleshooting.

  • Default: --no-debug
  • ⚠️ Warning: Debug logs may contain sensitive information. When enabled, the temporary directory will NOT be automatically deleted.

Credits

@ckabalan for bitwarden-attachment-exporter

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bitwarden_exporter-1.8.1.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bitwarden_exporter-1.8.1-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file bitwarden_exporter-1.8.1.tar.gz.

File metadata

  • Download URL: bitwarden_exporter-1.8.1.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.5

File hashes

Hashes for bitwarden_exporter-1.8.1.tar.gz
Algorithm Hash digest
SHA256 f037518ec4fc257b23c7d9e7a242b76fc67b41d372c4f2b804b04e40461e8c92
MD5 a31d16bf4b18a2a8711cc74b22a355bd
BLAKE2b-256 2dad59be81070d1d265017f9365b3a0017bdb534f9e1c9b70a5885399cb060c6

See more details on using hashes here.

File details

Details for the file bitwarden_exporter-1.8.1-py3-none-any.whl.

File metadata

File hashes

Hashes for bitwarden_exporter-1.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7e315683aba65a67ede3bf8bb56a05444760cbc5e8801ee408948db667eb5e40
MD5 6e630d879f7f7727d85d63792b8ac74d
BLAKE2b-256 41569f4a57c6d16fcac48794e70220de3eb0fa0d97c04655b047a1f75b83ab51

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page