pimport(1)
β¨ pimport(1) β¨
okay bestie, you found the manual page for pimport(1) and it's literally the swiss army knife of password importers. no cap. π
πΈ NAME πΈ
pimport β a passwords importer swiss army knife. that's the whole name, periodt. π
β¨ SYNOPSIS β¨
pimport [options...] dst src [src]
π DESCRIPTION π
okay so pimport is a passwords importer swiss army knife that lets you import your password database to a password store repository conveniently. it natively supports import from 62 password managers, and export to 8 destination password managers. more manager support can easily be added. slay. π
passwords are imported into the existing default password store, so bestie, the password store must have been initialized before. no initialized store = no import, periodt. π
by default, pass imports entries at the root of the password store and only keeps the main data (password, login, email, URL, group). this behaviour can be changed using the provided options. it handles duplicates and imports OTP secret. π
π COMMAND π
pimport [options...] dst src [src]
dstβ refer to one of the supported destination password managers to which you want to export your data. the complete list of supported destination managers can be found in the section SUPPORTED DESTINATION MANAGERS. it can also be found withpimport --list-exporters. πsrc [src]β can refer to two things: the path to the data to import or to the password manager name followed by the path to the data to import. if only the path to the data to import is given,pass-importautomatically detects the data format to import. the complete list of supported managers can be found in the section SUPPORTED MANAGERS. it can also be found withpimport --list-importers. β¨
now the options, bestie:
--out=<prefix>, or-o <prefix>β provide a path where the destination password manager lives. it can be a file, a directory, or even a login depending on the manager. π--root=<path>,-r <path>and--path=<path>,-p <path>β specific root source and destination directory to use in the password store. where--rootrefer to the source repository and will only import the password from a specific subfolder.--pathrefer to the destination repository and will import the passwords to a specific subfolder. ποΈ--key=<path>,-k <path>β if required by a password manager, a key file can be given using the--keyor-koption along with the path to the keyfile to use. π--all,-aβ conserve and import all the data present in the backup file. otherwise, onlytitle,password,login,URL,comments, andgroupdata are imported. π―--force,-fβ the import process will overwrite existing password entry if it already exists. π₯--clean,-cβ clean the password path in order to be more command line friendly. π§Ό--convert,-Cβ convert the invalid characters present in the paths before import. invalid characters for both Windows and Unix systems are supported. the default separator replaces the invalid characters:-π--sep=<char>β provide a character of replacement for the path separator. default:-β¨--del=<char>β provide an alternative CSV delimiter character. default:,π--cols=<char>β set the expected CSV columns to map columns to credential attributes. only used for the generic csv importer. π--config=<path>βpass-importwill consider this config file instead of the default one.import. βοΈ--list-importers,-lβ print the list of the available source password manager. with the verbose option (-v) it provides the python class name to use to be given assrc. it can be useful to bypass the automatic format detection. also support the quiet option (-q). π--list-exporters,-eβ print the list of the available destination password manager. support the quiet option (-q). π€--help,-hβ print the program usage. if the option is specified along with an argument and if this argument is a supported password manager, prints usage for this manager. π--verbose,-vβ be more verbose. this option can be specified multiple times to set the verbosity level. π£οΈ--quiet,-qβ be quiet π€«
π BASIC USAGE π
to import password from any supported password manager simply run:
pimport <new_pm> path/to/passwords --out path/to/destination/pm
if pimport is not able to detect the format, you need to provide the password manager you want to import data from:
pimport <new_pm> <former_pm> path/to/passwords --out path/to/destination/pm
if you want to import data to a pass, run:
pass import <pm> path/to/passwords
π₯ EXAMPLES π₯
π Import Lastpass file to a keepass kdbx db
pimport keepass lastpass.csv --out keepass.kdbx
(*) Importing passwords from lastpass to keepass
. Passwords imported from: lastpass.csv
. Passwords exported to: keepass.kdbx
. Number of password imported: 6
. Passwords imported:
Social/mastodon.social
Social/twitter.com
Social/news.ycombinator.com
Servers/ovh.com/bynbyjhqjz
Servers/ovh.com/jsdkyvbwjn
Bank/aib
π Import a password store to a CSV file
pimport csv ~/.password-store --out file.csv`
(yeah bestie, that backtick at the end is in the original, we don't make the rules π )
π Import passwords from keepass to bitwarden in a subfolder
pimport bitwarden keepass.kdbx --out <login> -p Import/
(*) Importing passwords from keepass to bitwarden
. Passwords imported from: keepass.kdbx
. Passwords exported to: <login>
. Root path: Import
. Number of password imported: 6
. Passwords imported:
Import/Social/mastodon.social
Import/Social/twitter.com
Import/Social/news.ycombinator.com
Import/Servers/ovh.com/bynbyjhqjz
Import/Servers/ovh.com/jsdkyvbwjn
Import/Bank/aib
π Other examples
- if the manager is not correctly detected, you can pass it at source argument
pimport pass dashlane dashlane.csv --out ~/.password-store
- import NetworkManager password on default dir
pimport pass networkmanager --out ~/.password-store
- import a NetworkManager INI file
pimport pass nm.ini --out ~/.password-store
- import a One password 1PIF
pimport pass 1password.1pif
- import a One password CSV
pimport pass 1password.csv
- import a Passman JSON file
pimport pass passman.json
- import Lastpass file to a keepass db
pimport keepass lastpass.csv --out keepass.kdbx
- import a password store to a CSV file
pimport csv ~/.password-store --out file.csv
π SECURITY CONSIDERATION π
π‘οΈ Direct import
passwords should not be written in plain text form on the drive. therefore, when possible, you should import it directly from the encrypted data. for instance, with an encrypted keepass database:
pimport pass keepass file.kdbx --out ~/.password-store
π§Ή Secure erasure
otherwise, if your password manager does not support it, you should take care of securely removing the plain text password database:
pimport keepass lastpass data.csv
shred -u data.csv
π Encrypted file
alternatively, pimport can decrypt gpg encrypted file before importing it. for example:
pimport keepass lastpass lastpass.csv.gpg
π‘οΈ Mandatory Access Control (MAC)
AppArmor profiles for pimport are available in apparmor.d. if your distribution support AppArmor, you can clone the repository and run:
make
sudo make install pass-import
to only install these apparmor security profiles.
π Network
pimport only needs to establish network connection to support cloud based password manager. if you do not use these importers you can ensure pimport is not using the network by removing the network rules in the apparmor profile of pass-import.
βοΈ CONFIGURATION FILE βοΈ
some configurations can be read from a configuration file called .import if it is present at the root of the password repository. the configuration read from this file will be overwritten by their corresponding command-line option if present.
example of the .import configuration file for the default password repository
zx2c4@laptop ~ $ cat .import
---
# Separator string
separator: '-'
# The list of string that should be replaced by other string. Only activated
# if the `clean` option is enabled.
cleans:
' ': '-'
'&': 'and'
# The list of protocol. To be removed from the title.
protocols:
- http://
# The list of invalid characters. Replaced by the separator.
invalids:
- '<'
- '>'
π SUPPORTED DESTINATION MANAGERS π
π csv (csv)
you should use the βcols option to map columns to credential attributes. the recognized column names by pass-import are the following: `title', `password', `login', `email', `url', `comments', `otpauth', `group' title and group field are used to generate the password path. if you have otp data, they should be named as otpauth. these are the standard field names. you can add any other field you want.
command: pimport csv src [src]
π¦ gopass (gopass)
website: https://www.gopass.pw/
command: pimport gopass src [src]
π keepass (kdbx)
website: https://www.keepass.info
command: pimport keepass src [src]
π keepassx2 (kdbx)
website: https://www.keepassx.org
command: pimport keepassx2 src [src]
π keepassxc (kdbx)
website: https://keepassxc.org
command: pimport keepassxc src [src]
π lastpass (cli)
website: https://www.lastpass.com
command: pimport lastpass src [src]
π pass (pass)
website: https://passwordstore.org
command: pimport pass src [src]
β¨ sphinx
website: https://github.com/stef/pwdsphinx/
command: pimport sphinx src [src]
π SUPPORTED SOURCE MANAGERS π
Okay bestie, this is the whole roster of source managers you can import from. I kept every website, every export path, and every command exactly as it should be, no cap. Scroll responsibly, hydrate, and don't skip a single one. π
π 1password (csv) v8
- Website:
https://1password.com - Export: follow this guide, bestie:
https://support.1password.com/export - Command:
pass import 1password file.csv
π 1password (1pif) v4
- Website:
https://1password.com - Export: follow this guide, bestie:
https://support.1password.com/export - Command:
pass import 1password file.1pif
π 1password (csv) v4
- Website:
https://1password.com - Export: follow this guide, bestie:
https://support.1password.com/export - Command:
pass import 1password file.csv
π 1password (csv) v6
- Website:
https://1password.com - Export: follow this guide, bestie:
https://support.1password.com/export - Command:
pass import 1password file.csv
β¨ aegis (json)
- Website:
https://github.com/beemdevelopment/Aegis - Export: go to
Settings> Tools: Export Plain - Command:
pass import aegis file.json
β¨ aegis (json)
- Website:
https://github.com/beemdevelopment/Aegis - Export: go to
Settings> Tools: Export encrypted - Command:
pass import aegis file.json
π andotp (json)
- Website:
https://github.com/andOTP/andOTP - Export: go to
Backups> Backup plain - Command:
pass import andotp file.json
π apple-keychain (keychain)
- Website:
https://support.apple.com/guide/keychain-access - Export: follow this guide, bestie:
https://gist.github.com/santigz/601f4fd2f039d6ceb2198e2f9f4f01e0 - Command:
pass import applekeychain file.txt
π¦ bitwarden (csv)
- Website:
https://bitwarden.com - Export: go to
Tools> Export Vault> File Format: .csv - Command:
pass import bitwarden file.csv
π¦ bitwarden (csv)
- Website:
https://bitwarden.com - Export: go to
Tools> Export Vault> File Format: .csv - Command:
pass import bitwarden file.csv
π¦ bitwarden (json)
- Website:
https://bitwarden.com - Export: go to
Tools> Export Vault> File Format: .json - Command:
pass import bitwarden file.json
π¦ bitwarden (json)
- Website:
https://bitwarden.com - Export: go to
Tools> Export Vault> File Format: .json - Command:
pass import bitwarden file.json
πΈ blur (json)
- Website:
https://abine.com - Export: go to
Settings: Export Data: Export Blur Data - Command:
pass import blur file.json
πΈ blur (csv)
- Website:
https://abine.com - Export: go to
Settings: Export Data: Export CSV: Accounts: Export CSV - Command:
pass import blur file.csv
π buttercup (csv)
- Website:
https://buttercup.pw - Export: go to
File > Export > Export File to CSV - Command:
pass import buttercup file.csv
π chrome (csv)
- Website:
https://support.google.com/chrome - Export: in
chrome://password-manager/settingsunder 2Export passwordsDownload File - Command:
pass import chrome file.csv
π chrome (csv)
- Website:
https://support.google.com/chrome - Export: follow this guide, bestie:
https://support.google.com/chrome/answer/95606#see - Command:
pass import chrome file.csv
π clipperz (html)
- Website:
https://clipperz.is - Export: go to
Settings > Data > Export: HTML + JSON - Command:
pass import clipperz file.html
π§ csv (csv)
Okay bestie, this one is special. You should use the βcols option to map columns to credential attributes. The recognized column names by pass-import are the following: `title', `password', `login', `email', `url', `comments', `otpauth', `group' title and group field are used to generate the password path. If you have otp data, they should be named as otpauth. These are the standard field names. You can add any other field you want.
- Export: nothing to do, bestie
- Command:
pass import csv file.csv βcols `url,login,,password'
π dashlane (csv)
- Website:
https://www.dashlane.com - Export: go to
File > Export > Unsecured Archive in CSV - Command:
pass import dashlane file.csv
π dashlane (json)
- Website:
https://www.dashlane.com - Export: go to
File > Export > Unsecured Archive in JSON - Command:
pass import dashlane file.json
π₯ encryptr (csv)
- Website:
https://spideroak.com/encryptr - Export: compile from source and follow instructions from this guide:
https://github.com/SpiderOak/Encryptr/issues/295#issuecomment-322449705 - Command:
pass import encryptr file.csv
π enpass (json) v6
- Website:
https://www.enpass.io - Export: go to
Menu > File > Export > As JSON - Command:
pass import enpass file.json
π enpass (csv)
- Website:
https://www.enpass.io - Export: go to
File > Export > As CSV - Command:
pass import enpass file.csv
π¦ firefox (csv)
- Website:
https://www.mozilla.org/en-US/firefox/lockwise/ - Export: in
about:loginsMenu: Export logins - Command:
pass import firefox file.csv
π¦ firefox (csv)
- Website:
https://github.com/kspearrin/ff-password-exporter - Export: go to
Add-ons Prefs: Export Passwords: CSV - Command:
pass import firefox file.csv
π fpm (xml)
- Website:
http://fpm.sourceforge.net - Export: go to
File > Export Passwords: Plain XML - Command:
pass import fpm file.xml
π freeotp+ (json)
- Website:
https://github.com/helloworld1/FreeOTPPlus - Export: go to
Settings> Export> Export JSON Format - Command:
pass import freeotp+ file.json
π§ gnome (libsecret)
- Website:
https://wiki.gnome.org/Projects/GnomeKeyring - Note: You can provide a gnome-keyring collection label to import. It can be empty to import all collections.
- Export: nothing to do, bestie
- Command:
pass import gnome-keyring
π§ gnome-auth (json)
- Website:
https://gitlab.gnome.org/World/Authenticator - Export: go to
Backup > in a plain-text JSON file - Command:
pass import gnome-authenticator file.json
π«Ά gopass (gopass)
- Website:
https://www.gopass.pw/ - Export: nothing to do, bestie
- Command:
pass import gopass path/to/store
π¦ gorilla (csv)
- Website:
https://github.com/zdia/gorilla/wiki - Export: go to
File > Export: Yes: CSV Files - Command:
pass import gorilla file.csv
π kedpm (xml)
- Website:
http://fpm.sourceforge.net - Export: go to
File > Export Passwords: Plain XML - Command:
pass import kedpm file.xml
π keepass (kdbx)
- Website:
https://www.keepass.info - Export: nothing to do, bestie
- Command:
pass import keepass file.kdbx
π keepass (csv)
- Website:
https://www.keepass.info - Export: go to
File > Export > Keepass (CSV) - Command:
pass import keepass file.csv
π keepass (xml)
- Website:
https://www.keepass.info - Export: go to
File > Export > Keepass (XML) - Command:
pass import keepass file.xml
π keepassx (xml)
- Website:
https://www.keepassx.org - Export: go to
File > Export to > Keepass XML File - Command:
pass import keepassx file.xml
π keepassx2 (kdbx)
- Website:
https://www.keepassx.org - Export: nothing to do, bestie
- Command:
pass import keepassx2 file.kdbx
π keepassx2 (csv)
- Website:
https://www.keepassx.org - Export: go to
Database > Export to CSV File - Command:
pass import keepassx2 file.csv
π keepassxc (kdbx)
- Website:
https://keepassxc.org - Export: nothing to do, bestie
- Command:
pass import keepassxc file.kdbx
π keepassxc (csv)
- Website:
https://keepassxc.org - Export: go to
Database > Export to CSV File - Command:
pass import keepassxc file.csv
π keeper (csv)
- Website:
https://keepersecurity.com - Export: go to
Settings > Export : Export to CSV File - Command:
pass import keeper file.csv
πΆοΈ lastpass (cli)
- Website:
https://www.lastpass.com - Export: nothing to do, bestie
- Command:
pass import lastpass
πΆοΈ lastpass (csv)
- Website:
https://www.lastpass.com - Export: go to
More Options > Advanced > Export - Command:
pass import lastpass file.csv
π myki (csv)
- Website:
https://myki.com - Export: follow this guide, bestie:
https://support.myki.com/myki-app/exporting-your-passwords-from-the-myki-app/how-to-export-your-passwords-account-data-from-myki - Command:
pass import myki file.csv
π network-manager (nm)
- Website:
https://wiki.gnome.org/Projects/NetworkManager - Note: Support import from the installed network configuration but also from a specific directory of NetworkManager configuration file or from a given file.
- Example:
βββββββββββββββββββββββββββββββββββ
- From directory of ini file: pass
import networkmanager dir/.
- From ini file: pass import
networkmanager file.ini.
- Export: Also support specific networkmanager dir and ini file
- Command:
pass import networkmanager
π§ nordpass (csv)
- Website:
https://nordpass.com/ - Export: go to
Settings > Export Items - Command:
pass import nordpass file.csv
π padlock (csv)
- Website:
https://padloc.app - Export: go to
Settings > Export Data and copy text into a .csv file - Command:
pass import padlock file.csv
π«Ά pass (pass)
- Website:
https://passwordstore.org - Export: nothing to do, bestie
- Command:
pass import pass path/to/store
π§ passman (csv)
- Website:
https://passman.cc - Export: go to
Settings > Export credentials > Export type: CSV - Command:
pass import passman file.csv
π§ passman (json)
- Website:
https://passman.cc - Export: go to
Settings > Export credentials > Export type: JSON - Command:
pass import passman file.json
π¦ passpack (csv)
- Website:
https://www.passpack.com - Export: go to
Settings > Export > Save to CSV - Command:
pass import passpack file.csv
π₯§ passpie (yaml) v1.0
- Website:
https://www.enpass.io - Export:
passpie export file.yml - Command:
pass import passpie file.yml
π pwsafe (xml)
- Website:
https://pwsafe.org - Export: go to
File > Export To > XML Format - Command:
pass import pwsafe file.xml
ποΈ revelation (xml)
- Website:
https://revelation.olasagasti.info - Export: go to
File > Export: XML - Command:
pass import revelation file.xml
π€ roboform (csv)
- Website:
https://www.roboform.com - Export: go to
Roboform > Options > Data & Sync > Export To: CSV file - Command:
pass import roboform file.csv
βοΈ safeincloud (csv)
- Website:
https://safeincloud.ladesk.com/ - Export: go to
File > Export > Comma-Separated Values (CSV) - Command:
pass import safeincloud file.csv
π‘οΈ saferpass (csv)
- Website:
https://saferpass.net - Export: go to
Settings > Export Data: Export data - Command:
pass import saferpass file.csv
π upm (csv)
- Website:
http://upm.sourceforge.net - Export: go to
Database > Export - Command:
pass import upm file.csv
βοΈ zoho (csv)
- Website:
https://www.zoho.com/vault - Export: go to
Tools > Export Secrets: Zoho Vault Format CSV - Command:
pass import zoho file.csv
βοΈ zoho (csv)
- Website:
https://www.zoho.com/vault - Export: go to
Tools > Export Secrets: Zoho Vault Format CSV - Command:
pass import zoho file.csv
π SEE ALSO
pass(1), pass-tomb(1), pass-update(1), pass-otp(1), pimport(1), pass-audit(1)
π AUTHORS
pimport was written by Alexandre Pujol (alexandre@pujol.io).
This page is from February 2024 and it's for pimport(1) β mwah, bestie. Go import your little heart out. π β¨
π¦ where this page comes from
- fedora 43: python3-pass-import 3.5-6.fc43 Β· GPL-3.0-or-later
- fedora 44: python3-pass-import 3.5-7.fc44 Β· GPL-3.0-or-later
- nixos 26.05: pass-import 3.5
- nixpkgs unstable: pass-import 3.5
- opensuse-leap 16.0: pass-import 3.5-bp160.1.10 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms