ForgotWalletPassword.com

Quick reference · btcrecover · hashcat · John the Ripper

Wallet password recovery — the command cheat sheet.

Every wallet format, the command that runs it — one page. Copy, adapt, run. The full reasoning, install steps and honest limits live in the walkthroughs linked from each row.

By Robbert Bink · ~6 min read · Published 9 August 2026 · Last reviewed: 14 August 2026

Illustration of an offline password-cracking workstation with a GPU and terminal
The headline

Every command below only works as well as your candidate list. Copy the right command, but build the list first — the hint-list guide is the method, this page is the syntax. Always run on a copy of your file, offline, with tools from official sources only.

How to use this page

Three steps: (1) identify your file — the identifier or the master list; (2) find your wallet in the table below and copy the command for the tool you chose; (3) if the command errors, the troubleshooting index has the fix. The btcrecover, hashcat and John the Ripper walkthroughs contain the full steps behind every row.

The three tools at a glance

ToolThe basic commandStart here
btcrecoverpython btcrecover.py --wallet <file> --tokenlist tokens.txtFull walkthrough
hashcathashcat -m <mode> <hashfile> words.txt -r rules/best66.rule (renamed from best64.rule in recent versions — older installs use best64.rule)Full walkthrough
John the Ripperjohn --wordlist=words.txt --rules=All <hashfile>Full walkthrough

Extraction scripts: extract-*.py lives in btcrecover’s extract-scripts/ folder (for btcrecover’s own --data-extract path), *2hashcat.py in hashcat’s tools/ folder, and *2john.py in John’s run/ folder — the *2john lines are what the hashcat columns need. Full recipes: convert a wallet to a hashcat hash.

Wallet → the command that runs it

Wallet / filebtcrecoverhashcatJohn the Ripper
wallet.dat — Bitcoin Core, Litecoin, Dogecoin, BCH, Dash python btcrecover.py --wallet wallet.dat --tokenlist tokens.txt bitcoin2john.py wallet.dat > wallet.hash
hashcat -m 11300 wallet.hash words.txt -r rules/best66.rule
bitcoin2john.py wallet.dat > wallet.hash
john --wordlist=words.txt --rules=All wallet.hash
Electrum — 1.x–4.x wallet file python btcrecover.py --wallet <file> --tokenlist tokens.txt
2FA/TrustedCoin wallets: special case — not covered by the standard btcrecover route; identify the wallet type first
electrum2john.py <file> > e.hash
mode follows the $electrum$N prefix: 1/2/3 → 16600 · 4 → 21700 · 5 → 21800
electrum2john.py <file> > e.hash
Ethereum keystoreUTC--*.json python btcrecover.py --wallet UTC--*.json --tokenlist tokens.txt ethereum2john.py UTC--*.json > eth.hash (remove any filename: prefix), then hashcat -m 15600 eth.hash words.txt (PBKDF2) · -m 15700 (scrypt) ethereum2john.py UTC--*.json > eth.hash
Ethereum pre-sale — 2014 JSON ethereum2john.py on the pre-sale JSON → hashcat -m 16300 presale.hash words.txt
BIP386P… paper key python btcrecover.py --bip38-enc-privkey 6P… --tokenlist tokens.txt No hashcat mode
Blockchain.comwallet.aes.json python btcrecover.py --wallet wallet.aes.json --tokenlist tokens.txt blockchain2john.py <file> > bc.hash
-m 12700 (legacy My Wallet) · -m 15200 (v2/v3) · -m 18800 (2nd password) · very early V0: -m 34700 (identify first)
blockchain2john.py <file> > bc.hash
MetaMask — vault data (legacy 10k or newer dynamic-iteration vault) Reads the vault folder directly; extract-metamask-vaults.py produces a clean vault file metamask2hashcat.py --vault vault.json > mm.hash — the extractor reads the KDF parameters from the vault
-m 26600 (legacy) · -m 26610 (newer dynamic-iteration) · -m 31900 (mobile) — 26620 only in newer/development hashcat builds; use the modes your installed version supports
MultiBit Classic / HD.key · .wallet · .wallet.aes Classic .key: direct / data-extract (fastest). Classic .wallet: btcrecover direct (slower) — or hashcat 27700 / John via multibit2john. HD mbhd.wallet.aes: extract/direct; hashcat 22700 also applies multibit2john.py <file> > mb.hash
-m 22500 (.key) · -m 27700 (.wallet) · -m 22700 (HD)
multibit2john.py <file> > mb.hash
Coinomi — scrypt vault Reads the vault directly coinomi2john.py <vault> > co.hash
Exodusseed.seco exodus2hashcat.py seed.seco > ex.hash
hashcat -m 28200 ex.hash words.txt -r rules/best66.rule
BIP39 passphrase — the 25th/13th word python btcrecover.py --bip39 --mnemonic "your 12/24 words here" --addrs <known-address> --addr-limit 10 --tokenlist tokens.txt
You also need the mnemonic and a known address/xpub target; for Ethereum/altcoins add the appropriate --wallet-type
SLIP39 passphrases: separate --slip39 mode — different KDF, needs a share quorum
Monero.keys file No hashcat mode monero2john.py wallet.keys > monero.hash
john --wordlist=words.txt --rules=All monero.hash

“—” means that tool has no supported path for this format — use the listed tool instead. Rows verified against the official btcrecover, hashcat and John the Ripper documentation (9 August 2026). Several 2john extractors prefix the hash with filename: — remove that prefix before running hashcat; the conversion guide covers it.

Specialist formats — one tool each

FormatCommand
Brainwallet (SHA-256 / scrypt)btcrecover reads it directly — see the walkthrough for the address setup · dedicated guide
Terra Stationneeds extraction first — assemble the salt + IV + ciphertext hash from the wallet data, then hashcat -m 29600 terra.hash words.txt -r rules/best66.rule · extraction guide
Bisq.walletbisq2hashcat.py bisq.wallet > bisq.hashhashcat -m 29800 bisq.hash words.txt
Stargazer (Stellar/XLM)needs extraction first — build the $stellar$... record (salt/IV/ciphertext) from the wallet data, then hashcat -m 25500 stellar.hash words.txt -r rules/best66.rule · extraction guide
Keplr (Cosmos)keplr2john.py <vault-folder> > keplr.hashjohn --wordlist=words.txt --rules=All keplr.hash — legacy extension format only; identify v2/current vaults before assuming compatibility
Cardano — legacy secret.keycardano2john.py secret.key > ada.hashjohn --wordlist=words.txt --rules=All ada.hash
BitSharesbitshares2john.py <db> > bs.hashjohn --wordlist=words.txt --rules=All bs.hash
Tezos ICO / fundraiser credentialstezos2john.py <seed words> <fundraiser email> <tz1 address> > xtz.hashjohn --wordlist=words.txt --rules=All xtz.hash — the ICO/fundraiser password route, not a generic Tezos client key file

btcrecover wallet formats — three situations, three commands

There is no single command that fits every wallet below. Split the list into three cases: files btcrecover reads straight into --wallet, formats that need a special btcrecover flag, and formats that need extraction or preparation first.

Direct --wallet formats

Same command — python btcrecover.py --wallet <file> --tokenlist tokens.txt — no extraction, no mode number:

Wallet / fileNote
mSIGNA (CoinVault) wallet databaseReads the keychain directly
Hive for OS Xbitcoinj-family encrypted wallet — wallet-password route via btcrecover
Litecoin / Dogecoin Wallet for Androidbitcoinj encrypted backup
Toast WalletWallet passphrase
imToken keystoreModified Ethereum keystore — also hashcat 15600/15700
Electron-Cash · MultiDogeElectrum-family (BCH) / MultiBit-style .key backup

Special BTCRecover flags required

These formats need an extra btcrecover flag — the generic command above tests the wrong target:

Wallet / fileNote
Bitcoin Wallet (Android/BlackBerry) · KnC WalletSpending PIN or encrypted backup. For the spending PIN add --android-pin — without it btcrecover tests the backup password instead: python btcrecover.py --wallet <backup-file> --android-pin --tokenlist pins.txt
Yoroi (Cardano)Not a direct --wallet input — extract the encrypted master-password value from the wallet data first, then use BTCRecover’s --yoroi-master-password workflow

Hive Android / iOS / Web is a different case again: not the same wallet-file/password route — btcrecover documents these under seed recovery instead.

Extraction / preparation required

Not a direct --wallet input — prepare the recovery target first:

Wallet / fileNote
Dogechain.infoSeparate workflow — wallet.aes.json / Dogechain recovery (extract-dogechain-privkey.py)
BitherBither SQLite wallet database (format-3; fields such as addresses.encrypt_private_key / password_seed) — not every exported/encrypted backup is the direct target
block.ioAccount “Secret PIN” — PBKDF2-HMAC-SHA256; check the stored iteration count first (legacy ~2,048 vs newer 100,000+) before estimating speed
btc.com (Blocktrail)Prepare the recovery-sheet wallet data first (passwordEncryptedSecretMnemonic) — the raw PDF is not the --wallet input

Password managers & encrypted documents

When the wallet password sits behind a second lock, the same tools open it. All modes from the official hashcat example-hashes list:

Filehashcat modeExtraction
KeePass 1 (.kdb) / KeePass 2 (.kdbx)13400 (AES-KDF, KDBX ≤ 3); 34300/34301 (KDBX 4)keepass2john — identify the version and KDF first: KDBX 4 may use Argon2 (34300) or AES-KDF (34301)
LastPass vault (local cache)6800local XML/SQLite vault cache via lastpass2hashcat.py — not the CSV account export
Bitwarden — PBKDF2-configured vaults23400bitwarden2john
Bitwarden — Argon2id-configured vaultsno generic 23400 route — identify the KDF firstworkflow that supports the Argon2id configuration (not the standard 23400 extractor)
1Password6600 / 8200keychain files
Password Safe (.psafe3)5200pwsafe2john
7-Zip (.7z)116007z2john
WinZip AES (.zip)13600 — PKZIP/ZipCrypto uses 17200/17210/17220/17225/17230 instead; let the extracted hash decidezip2john
RAR3 / RAR512500 (RAR3-hp) · 23700 (RAR3-p uncompressed) · 23800 (RAR3-p compressed) · 13000 (RAR5) — let rar2john's output deciderar2john
MS Office (2007+)9400 / 9500 / 9600 (+ 9700–9820 old)office2john
PDF10400–10700, and in some cases 25400 — let pdf2john decidepdf2john

The full walkthroughs: password manager recovery and wallet password in an encrypted file.

Encrypted drives & volumes

When the wallet file itself sits on an encrypted drive or in a container — the full method is on the encrypted-file guide:

FormatTool / modeExtraction
BitLockerhashcat 22100bitlocker2john
FileVault 2 (CoreStorage)hashcat 16700fvde2john
APFS-encrypted volume (macOS 10.13+)hashcat 18300APFS keybag/volume material
TrueCrypthashcat 6211–6243 (legacy) / 29311–29343 (current)truecrypt2john (legacy) / truecrypt2hashcat.py (current)
VeraCrypthashcat 13711–13783 (legacy VeraCrypt) / 29411–29483 (current)veracrypt2john (legacy) / veracrypt2hashcat.py (current)
LUKShashcat 14600 (legacy LUKS v1) / 29511–29543 (LUKS1 by config) / 34100 (LUKS2 Argon2, supported configs)luks2john (legacy) / luks2hashcat.py (LUKS2)
Apple DMGJohn the Ripperdmg2john

Flags that save your run

btcrecover — test candidates first, then let it save progress and resume:

python btcrecover.py --listpass --tokenlist tokens.txt
python btcrecover.py --wallet wallet.dat --tokenlist tokens.txt --autosave progress.sav --typos 1 --typos-case --typos-swap --typos-repeat

Resume after a crash (this flag must be the only option): --restore progress.sav. Already have full candidate passwords? Use --passwordlist candidates.txt instead of a token list.

hashcat — wordlist + rules, or a mask when you know the shape:

hashcat -m 11300 wallet.hash words.txt -r rules/best66.rule
hashcat -m 11300 -a 3 wallet.hash '?u?l?l?l?l?l?d?d'
hashcat -m 11300 -a 6 wallet.hash words.txt '?d?d'
hashcat -m 11300 -a 7 wallet.hash '?u?l' words.txt

Hybrids (-a 6 word + mask ending, -a 7 mask + word) cover mixed clues in one run. Preview what your wordlist + rules generate before spending GPU time: hashcat --stdout -a 0 words.txt -r rules/best66.rule | head.

John the Ripper — wordlist + rules, mask, or incremental; cracked passwords land in the potfile:

john --wordlist=words.txt --rules=All monero.hash
john --mask='?u?l?l?l?l?l?d?d' monero.hash

Re-read a cracked hash anytime: john --show monero.hash.

Before you run anything: copy the wallet file, work offline, download only from official sources, and never upload the file to a public checker or unknown website or paste vault data into any website. The candidate list decides the case — build it on purpose.

Sources & references

  1. 3rdIteration/btcrecover — source & extract-scripts/
  2. hashcat — example hashes (modes) & tools/
  3. openwall/john — jumbo build & *2john scripts

Cite this page

APA: Bink, R. (2026). Wallet password recovery — the command cheat sheet. ForgotWalletPassword.com. https://forgotwalletpassword.com/wallet-password-recovery-cheat-sheet

Markdown: [Wallet password recovery — the command cheat sheet.](https://forgotwalletpassword.com/wallet-password-recovery-cheat-sheet)

Missing something, or spot an error? Tell us — every correction is checked and applied.
Was this guide helpful?

Keep going — it’s all free

Not sure what you lost or what’s possible?

Take the quick diagnosis for a first verdict — it stops early when the answer is already clear — then work the search checklist. Everything here is informative, runs offline, and is free to use.