Step-by-step guide · John the Ripper · free
How to run John the Ripper yourself — the complete walkthrough.
John the Ripper is the classic open-source password cracker — the tool that has been teaching people how cracking works since the 1990s. It runs on CPUs and, for supported Jumbo formats, can also use OpenCL/GPU acceleration; for many wallet-specific workflows CPU remains the practical path. It comes with a huge collection of extraction scripts and is genuinely useful for a few wallet formats. This page tells you exactly when it makes sense — and when it doesn’t.
By Robbert Bink · ~6 min read · Published 8 August 2026 · Last reviewed: 15 August 2026
John the Ripper (the “jumbo” build) supports cryptocurrency wallets, and it is the most practical tool for Monero .keys files. For wallet.dat, Electrum and most keystores, btcrecover or hashcat are the better first choice — John is slower per guess. Where it genuinely shines: the formats the other tools don’t touch, and as the clearest way to learn wordlists and rules.
When does John the Ripper make sense?
Short version — pick John for exactly these cases:
- Monero (
.keysfile). Themonero2john.pyscript extracts a crackable hash, and John’s Monero format is the documented specialist path. No other mainstream tool handles it out of the box — the dedicated Monero guide covers file locations, speeds and the seed-first route. - Learning the craft. John’s wordlist + rules model is the simplest way to understand how password cracking actually works before you touch GPU tools.
- Non-wallet encrypted files you also own — SSH keys, GnuPG keys, ZIP and PDF files. If your wallet password is stored behind another password, John can open that door.
And when to skip it: wallet.dat, Electrum and BIP38 are better served by btcrecover’s token lists (it reads those files directly), and pure GPU speed for masks belongs to hashcat. John is the specialist and the teacher, not the default workhorse. If you’re not sure which tool fits, start with the tool comparison.
The walkthrough — six steps
-
1
Protect the file (same rules as always)
Work on a read-only copy, offline or on a clean machine, downloads only from official sources. The protection rules, plus the printable offline toolkit that keeps every step on paper.
-
2
Install the jumbo build
You want the community “jumbo” edition — the core release alone does not include the wallet formats or the extraction scripts. Get it from the official source: Openwall’s prebuilt jumbo releases or a source build. Note that Debian/Ubuntu’s
johnpackage is the core build and does not include the wallet formats or the*2john.pyscripts, sosudo apt install johnis not enough for this guide:# macOS (Homebrew) brew install john-jumboOn Windows, download the official prebuilt jumbo archive from Openwall and run
john.exefrom therunfolder. Verify the install — and that you have the jumbo formats and the*2john.pyscripts — with:john --version john --list=formats | grep -i -E "monero|ethereum|bitcoin|electrum" ls run/*2john.pyIf Monero and the wallet formats appear and the scripts are present, you have the right build. Only the official downloads — never a random “John the Ripper cracker” binary from a tutorial site.
-
3
Convert your wallet to a hash line
John works on a one-line “hash” extracted from your wallet — never the whole file. The
*2john.pyscripts live in the samerunfolder as John and do that extraction for you:Wallet format Extraction script Notes Monero ( .keys)monero2john.pyJohn’s best-known wallet format — works on the modern .keysfile. The seed — 25-word legacy, 16-word Polyseed, 13-word MyMonero — restores the wallet without the password, so only bother if you lost the seed too. Full Monero guide →Ethereum keystore ( UTC--…json)ethereum2john.pySupports both PBKDF2 and scrypt keystores; the script picks the right parameters from the JSON. wallet.dat family (Bitcoin Core, forks) bitcoin2john.pyWorks, but btcrecover’s token lists are usually the better weapon for these — see below. Electrum electrum2john.pySame story — supported, but btcrecover reads Electrum files directly with fewer moving parts. MultiBit (Classic .key/.wallet, HD)multibit2john.pyExtracts all MultiBit variants. The Classic .keyformat is extremely fast to test; btcrecover and hashcat also read it directly.Coinomi (scrypt vault) coinomi2john.pyOutputs the same $multibit$hash format — btcrecover reads the vault directly and is the usual first choice.Blockchain.com ( .aes.json)blockchain2john.pySupported, but the hashcat modes (12700 / 15200 / 18800) and btcrecover both cover this wallet too. Keplr (Cosmos extension vault) keplr2john.pyExtracts the password-encrypted vault from the browser extension’s LevelDB storage for the legacy extension format. Keplr v2/current vaults use a changed format — identify the version before assuming this script works. Cardano (legacy Daedalus secret.key)cardano2john.pyFor 2017–2019 Daedalus wallets. Modern Cardano wallets restore from the seed phrase instead — this password only protects the legacy key file. BitShares (light-client wallet database) bitshares2john.pyReads the wallet database used by the BitShares 2 light client and wallet.bitshares.org. Tezos ICO / fundraiser (15-word mnemonic, fundraiser email, tz1 address) tezos2john.pyThe ICO/fundraiser password route — not a generic extractor for password-protected Tezos client key files. For a Monero
.keysfile:python monero2john.py wallet.keys > monero.hashThen take a look — the line starts with
$monero$…, which tells John which format to use. Most*2john.pyscripts also accept multiple files at once, so you can extract several candidates in one go. -
4
Pick the attack: wordlist, mask or incremental
Wordlist with rules — your password hint list plus John’s built-in rule sets that mangle every word (append years, digits, symbols, case flips). The hint-list guide includes a practice demo and a downloadable offline builder that outputs words.txt directly:
john --wordlist=words.txt --rules=All monero.hashMask — when you remember the shape of the password (“capital letter, five lowercase, two digits”):
john --mask='?u?l?l?l?l?l?d?d' monero.hashJohn uses the same mask characters as hashcat:
?llowercase ·?uuppercase ·?ddigit ·?ssymbol ·?aanything. Incremental — for short, purely random-looking passwords with no clues at all; John’s built-in character-frequency model tries likely patterns first:john --incremental monero.hashThe wordlist is where the case is won or lost — build it from memory, not from a generic list.
-
5
Run it and watch the status
John auto-detects the format from the hash prefix and shows a live status screen — guesses per second, progress and time. You can pause with
Ctrl+Cand resume later withjohn --restore. To force a specific format (rarely needed, but useful when a line is ambiguous):john --format=monero monero.hashCheck the full list of supported formats any time with
john --list=formats.Two tips for long runs. Use more of your CPU with
john --fork=4 monero.hash— the work splits across four cores (raise the number up to your core count). And name the session so pause and resume are clean: start withjohn --session=wallet1 --wordlist=words.txt --rules=All monero.hash, stop any time with Ctrl+C, and resume exactly where you left off withjohn --restore=wallet1.One more attack shape. John’s masks accept the wordlist as a placeholder:
john --mask='?w?d?d' --wordlist=words.txt monero.hashtries every word followed by two digits — the hybrid you’d otherwise build with two separate runs. -
6
Read the result — and know when to stop
Cracked passwords go to John’s
potfile(stored per user, typically~/.john/john.pot). Re-read them any time:john --show monero.hashIf the status screen shows an unworkable pace and no crack after a reasonable run, the real answer is that your candidates are wrong or the case isn’t viable — check the math before investing weeks. Widening a list built from real memory beats letting a GPU run blind.
Never upload your wallet file to a public checker or unknown website
The entire point of John, hashcat and btcrecover is that the search runs on your hardware, offline. Never upload your wallet file to an online “unlocker”, public checker or unknown website — legitimate recovery runs locally, on a copy, or through a controlled written process with an extract.
Password found — now what?
A John the Ripper success means the hash cracked and the wallet opens — the work isn’t done until the funds are safe. Do these in order:
-
1
Verify before you move anything. Open the wallet with the recovered password and confirm it loads with the expected addresses and balance before moving funds. (A wrong variant opening a different, empty wallet is a seed-passphrase phenomenon, not a verified encrypted-wallet password — see the passphrase guide.)
-
2
Store the password safely. The moment it works, save it in a password manager and keep one written fallback — then never reuse it for another wallet. That is the whole storage rule.
-
3
Note the balance first. Write down the balance and addresses before transferring, so you can spot problems immediately.
-
4
Move the funds to a fresh wallet. Old wallet software is discontinued and often unsafe to keep using — and importing old keys into modern software does not make them fresh. Create a new wallet with a new seed, back it up and verify it, then send/sweep the funds to its addresses.
-
5
Use only official software. The moment you have access is also the moment you are most careless — download wallets only from official sites, never from search ads or links in messages.
Once the wallet is open, make sure this never happens twice — never losing access prevents round two.
Frequently asked questions
Does John the Ripper support Monero wallets?
Yes — the jumbo build with monero2john.py is the documented path for Monero .keys files. hashcat has no Monero mode, which is why John is the specialist tool here.
Which build of John do I need?
The community “jumbo” edition from openwall.com/john. A distro package only works if it is a genuine jumbo build that ships the wallet formats and the *2john extraction scripts — Debian/Ubuntu’s john package is core-only and not enough for this guide.
Is John the Ripper faster than hashcat?
Usually slower per guess for wallet formats, where CPU remains the practical path — John jumbo can also use OpenCL/GPU acceleration for supported formats. It earns its place for formats the other tools don’t support — Monero .keys, Cardano, Keplr, BitShares, Tezos — and as the clearest way to learn wordlists and rules.
Where does John store cracked passwords?
In the potfile, by default ~/.john/john.pot. Re-read any cracked hash at any time with: john --show monero.hash
Sources & references
- John the Ripper — official site (downloads, jumbo builds, documentation)
- openwall/john — source code & *2john extraction scripts (run directory)
Cite this page
APA: Bink, R. (2026). How to run John the Ripper yourself — the complete walkthrough. ForgotWalletPassword.com. https://forgotwalletpassword.com/john-the-ripper-step-by-step
Markdown: [How to run John the Ripper yourself — the complete walkthrough.](https://forgotwalletpassword.com/john-the-ripper-step-by-step)
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.