Skip to main content
A password list is a plain text file containing one complete password per line. Use --passwordlist when you already know what the full password candidates look like, as opposed to a token list where you know only fragments.

Password lists vs. token lists

Password listToken list
InputComplete passwords, one per lineFragments (tokens) you remember
Use whenYou have a set of whole password guessesYou remember parts but not the full password
CombinationsEach line is tried verbatim (unless typos are added)BTCRecover combines fragments to build guesses
Flag--passwordlist FILE--tokenlist FILE
Each line in the password list is used exactly as written — no token combination logic is applied. You can still use any of the typo simulation features to generate variations of each candidate.
If your password contains non-ASCII characters, add --utf8 to enable Unicode support.

Basic usage

python btcrecover.py --wallet wallet.dat --passwordlist passwords.txt
Format of passwords.txt:
passwords.txt
correct horse battery
CorrectHorseBattery
c0rrectH0rseBattery
correct-horse-battery-staple
Be careful not to add trailing spaces unless those spaces are actually part of a password.

Reading from stdin

If you specify --passwordlist without a filename, BTCRecover prompts you to type passwords interactively, one per line:
python btcrecover.py --wallet wallet.dat --passwordlist
This is useful for quick one-off tests. Press Ctrl-D (or Ctrl-Z on Windows) when done.

Piping from another tool

Because BTCRecover can read from stdin, you can pipe output from another password generator directly into it:
cat wordlist.txt | python btcrecover.py --wallet wallet.dat --passwordlist

Combining with typo simulation

Password lists work with all --typos-xxxx options. Each password in the list is treated as a base, and BTCRecover generates variations of it:
python btcrecover.py --wallet wallet.dat --passwordlist passwords.txt \
  --typos 2 --typos-case --typos-swap
This tests each password verbatim, plus all combinations of up to two case-change or swap typos applied to it. See the Typo Simulation page for the full list of available typo flags.

Embedded options in the password list file

To store command-line options alongside the password list, add them to the first line of the file, beginning with #--:
passwords.txt
#--typos 2 --typos-case --typos-delete
correct horse battery
CorrectHorseBattery
c0rrectH0rseBattery
When BTCRecover sees a first line that begins with #--, it treats the remainder of that line as additional command-line arguments. Options on the command line still take precedence if the same option appears in both places.
The options --passwordlist, --tokenlist, --performance, and --utf8 are not permitted inside the file for security reasons.

Previewing candidates with —listpass

Use --listpass in place of --wallet FILE to print all passwords that would be tested — useful to verify typo combinations before committing to a full run:
python btcrecover.py --listpass --passwordlist passwords.txt \
  --typos 2 --typos-case | more

Autosave and restore

For large password lists that may take a long time, use --autosave to periodically save progress to a file. If the run is interrupted, resume it with --restore:
1

Start with autosave

python btcrecover.py --wallet wallet.dat --passwordlist passwords.txt \
  --typos 2 --typos-case --autosave progress.sav
BTCRecover saves progress approximately every 5 minutes to progress.sav.
2

Resume after interruption

python btcrecover.py --restore progress.sav
BTCRecover picks up exactly where it left off. The password list file must still be present and unmodified.
The autosave feature is only supported with token lists, not password lists. For password lists, use --skip N to manually resume: if BTCRecover was interrupted after password #357449, restart with --skip 357449 and the same options.

Manual resume with —skip

If you didn’t have autosave enabled and your run was interrupted, note the last password number printed and restart with --skip:
# Original run was interrupted after password #357449:
python btcrecover.py --wallet wallet.dat --passwordlist passwords.txt \
  --typos 2 --typos-case --skip 357449

Compressed password lists

Password list files can be gzip-compressed. BTCRecover detects and reads .gz files automatically:
python btcrecover.py --wallet wallet.dat --passwordlist passwords.txt.gz

Build docs developers (and LLMs) love