Bcrypt Hash Generator & Verifier
Generate a bcrypt password hash from plain text at a chosen cost factor, or verify a password against an existing bcrypt hash, entirely in your browser.
Bcrypt Hash Generator & Verifier — Switch between Hash and Verify to either turn a plain-text password into a salted bcrypt hash or check whether a password matches an existing hash. Pick a cost factor to control how slow and brute-force-resistant the hash is, and let the tool generate a fresh random salt for every hash. Everything runs locally through a WebAssembly bcrypt build, so passwords and hashes never leave your browser.
What is Bcrypt Hash Generator & Verifier?
The Bcrypt Hash Generator & Verifier is a free in-browser tool for the bcrypt password-hashing function, the same algorithm used by countless web frameworks to store passwords safely. Backend developers, security engineers, and people learning about authentication use it to produce a sample $2b$ hash for seeding a database, to confirm that a stored hash really matches a known password, or to see how the cost factor changes the work involved. In Hash mode you enter a password and a cost factor (4-31); a random 16-byte salt is generated for you and the result is the standard encoded bcrypt string that carries the algorithm version, cost, salt, and digest together. In Verify mode you paste a password and an existing bcrypt hash, press Verify, and the tool tells you whether they match. Because bcrypt is deliberately slow, a high cost factor can take a noticeable moment to compute.
How to use Bcrypt Hash Generator & Verifier
- Choose Hash to create a new hash, or Verify to check a password against an existing one.
- In Hash mode, type or paste the plain-text password you want to protect.
- Set the cost factor (10 is a common default; higher is slower and stronger).
- Press Generate hash and copy the resulting bcrypt string once it appears.
- In Verify mode, enter the password and paste the bcrypt hash, then press Verify to see Match or No match.
Examples
Hashing a password at the default cost
Input
password: correct horse battery staple, cost: 10
Output
$2b$10$... (a 60-character bcrypt hash; the salt is random so it differs each time)
Verifying a password against a stored hash
Input
password: hunter2, hash: $2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
Output
Match
A wrong password fails verification
Input
password: wrongpass, hash: $2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
Output
No match
Frequently asked questions
- Are my passwords or hashes sent anywhere?
- No. Hashing and verification run entirely in your browser using a WebAssembly build of bcrypt. Nothing you type is uploaded to or stored on any server, so the tool keeps working offline and your passwords never leave the page.
- What cost factor should I use?
- The cost factor sets how many rounds bcrypt performs; each increment roughly doubles the work. A value of 10-12 is common for web apps. Higher values resist brute force better but take longer to compute, so very high numbers can briefly freeze the browser.
- Why does the hash change every time for the same password?
- A fresh random 16-byte salt is generated for each hash, and the salt is embedded in the result. Different salts produce different hashes for the same password, which is exactly what makes bcrypt safe. Verification still succeeds because the salt is read back out of the stored hash.
- Why did verification say my hash is invalid?
- Verify expects a complete bcrypt hash in the standard encoded form, typically starting with $2a$, $2b$, or $2y$ followed by the cost and a 53-character salt-plus-digest. If part of the string is missing or altered, the tool cannot read the salt and reports an error.
- Can I use this hash directly in my application?
- Yes. The output is a standard encoded bcrypt string compatible with common bcrypt libraries, so you can store it and verify against it on your server. For real systems, generate the hash where the password is entered rather than copying it through other tools.
Related tools
AES Text Encryption (AES-GCM + PBKDF2)
Encrypt and decrypt text with AES-256-GCM using a passphrase-derived key (PBKDF2 SHA-256, random salt), entirely in your browser with no uploads.
Argon2 & scrypt Hash
Hash a password with Argon2id or scrypt and verify an Argon2 hash against a password, entirely in your browser.
BIP39 Mnemonic Generator
Generate a random BIP39 recovery phrase of 12 to 24 words in several languages, or convert an existing mnemonic back into its raw entropy, entirely in your browser.
CSR & Self-Signed Certificate Generator
Generate an RSA or ECDSA private key together with a certificate signing request or a self-signed X.509 certificate, all in your browser.