Skip to main content

Import and Export passwords for Firefox

Project description

PyPI version Downloads

ffpass - Import and Export passwords for Firefox Quantum

The latest version of Firefox doesn’t allow to import or export the stored logins and passwords.

This tools interacts with the encrypted password database of Firefox to provide these features.

Installation

ffpass requires Python 3.6+ and will work with Firefox 58+

pip install ffpass

Features

  • Supports master passwords
  • Automatic profile selection for Linux, macOS and Windows
  • Export to CSV
  • Import from CSV compatible with Google Chrome

Note: Firefox must be closed during the whole process, as these actions change its database.

Export to CSV

ffpass export > passwords.csv
ffpass export -t passwords.csv
ffpass export --to passwords.csv

Usage

usage: ffpass export [-h] [-t TO_FILE] [-d DIRECTORY] [-v]

outputs a CSV with header `url,username,password`

optional arguments:
  -h, --help            show this help message and exit
  -t TO_FILE, --to TO_FILE
  -d DIRECTORY, --directory DIRECTORY, --dir DIRECTORY
                        Firefox profile directory
  -v, --verbose

Import from CSV

ffpass import < passwords.csv
ffpass import -f passwords.csv
ffpass import --from passwords.csv

By default, it works with the passwords exported from Google Chrome.

Usage

usage: ffpass import [-h] [-f FROM_FILE] [-d DIRECTORY] [-v]

imports a CSV with columns `url,username,password` (order insensitive)

optional arguments:
  -h, --help            show this help message and exit
  -f FROM_FILE, --from FROM_FILE
  -d DIRECTORY, --directory DIRECTORY, --dir DIRECTORY
                        Firefox profile directory
  -v, --verbose

Transfer from Google Chrome to Firefox

Export from Google Chrome

  1. Open Chrome and enter the following in the address bar: chrome://flags/#PasswordExport
  2. Click Default next to “Password export” and choose Enabled.
  3. Click Relaunch Now. Chrome will restart.
  4. Click the Chrome menu in the toolbar and choose Settings.
  5. Scroll to the bottom and click Advanced.
  6. Scroll to the “Passwords and forms” section and click “Manage passwords”.
  7. Click next to Saved Passwords and choose Export.
  8. Click Export Passwords, enter the password you use to log in to your computer, and save the file to passwords.csv (or any other available name).

(instructions from https://support.1password.com/import-chrome/)

Import in Firefox

  1. Stop Firefox
  2. Import into Firefox:
ffpass import --from passwords.csv

Restart Firefox, making sure it didn't leave any process still open.

Transfer from Firefox to Google Chrome

Export from Firefox

  1. Stop Firefox
  2. Export from Firefox:
ffpass export --to passwords.csv

Import in Google Chrome

  1. Open Chrome and enter the following in the address bar: chrome://flags/#PasswordImport
  2. Click Default next to “Password import” and choose Enabled.
  3. Click Relaunch Now. Chrome will restart.
  4. Click the Chrome menu in the toolbar and choose Settings.
  5. Scroll to the bottom and click Advanced.
  6. Scroll to the “Passwords and forms” section and click “Manage passwords”.
  7. Click next to Saved Passwords and choose Import.
  8. Select the file passwords.csv and click Import.

Troubleshoot

  • ffpass export: error: the following arguments are required: -d/--directory/--dir

    It means one of the following (launch with option --verbose to know):

    • Automatic profile selection is not supported for your platform.
    • There is more than one user profile for Firefox.

    You have to provide the --dir option with your Firefox Profile Folder. To find it, follow these instructions on the website of Firefox.

  • Firefox password database is empty. Please create it from Firefox.

    It means that Firefox currently doens't store any password. ffpass cannot create the password database for security reasons. Just add one password manually to Firefox to create the database.

  • TypeError: 'PosixPath' object is not iterable

    See #17.

  • Empty url field in Firefox after importing: the urls of the source csv file must begin with a scheme (http://, https://, ftp://, etc…)

Credits

Thanks a lot to @lclevy for the retro-engineering! I was inspired by his repository https://github.com/lclevy/firepwd.

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

ffpass-0.4.7.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

ffpass-0.4.7-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file ffpass-0.4.7.tar.gz.

File metadata

  • Download URL: ffpass-0.4.7.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.21.0 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for ffpass-0.4.7.tar.gz
Algorithm Hash digest
SHA256 c8a4aa351814a1e0297a521d9ee032bb87357cb5c5875bc75e0262aa0c1a63bc
MD5 88166485a70a462db8c3776abdbb00a8
BLAKE2b-256 ad0d91192f4bd73f3a190e85dd9205024a0f6b55f50ac927fdfeba1746c8f49e

See more details on using hashes here.

File details

Details for the file ffpass-0.4.7-py3-none-any.whl.

File metadata

  • Download URL: ffpass-0.4.7-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.21.0 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for ffpass-0.4.7-py3-none-any.whl
Algorithm Hash digest
SHA256 2b858c6fb17047a2d601ff0e34aa1f473eba1e9f34bdf226a0e706726a3e0dbf
MD5 9bc0833fd933b939b33a60150c863e0e
BLAKE2b-256 3355650bf6a764155a61871465a9f230aa09d0bcddcf64a700bf5a8e38e96c3a

See more details on using hashes here.

Supported by

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