Type a tool name, for example "keyword density" or "transcript".
Generate and verify bcrypt password hashes. Runs entirely in your browser.
Password Strength
Hashing... this may take a moment.
Bcrypt Hash
-
Algorithm
-
Cost Factor
-
Hash Length
Verifying...
A bcrypt hash generator turns a password into a salted, one-way bcrypt hash you can store or test, and checks whether a password matches an existing hash. This free tool is built for developers and testers. Pick a cost factor from 4 to 14, generate the hash, copy it, or switch to verify mode.
A bcrypt hash is the output of bcrypt, a password hashing algorithm that mixes in a random salt and a deliberately slow work factor. It is designed so that guessing passwords from a stolen hash is expensive, even on fast hardware.
Every bcrypt hash is 60 characters long and has the same layout. Knowing the layout helps you read the hash the tool gives you.
| Part | Characters | Meaning |
|---|---|---|
| Version prefix | 4 | Variant such as 2a, 2b or 2y |
| Cost and divider | 3 | Work factor, like 12 plus a dollar sign |
| Salt | 22 | Random value stored with the hash |
| Digest | 31 | The hashed password itself |
Add them up (4 + 3 + 22 + 31) and you get 60, which answers the common question about bcrypt hash length.
The salt is a random 128-bit value that bcrypt generates for each hash and stores inside the hash string. Because the salt changes every time, two users with the same password get different hashes, and precomputed rainbow tables stop being useful. You never store the salt separately.
The cost factor sets how many rounds of work bcrypt performs: the work is 2 raised to the cost. Cost 10 means 1,024 rounds and cost 12 means 4,096 rounds, so each extra point doubles the time. A login check barely notices, but an attacker trying millions of guesses pays for every one.
You can create a hash in under a minute with the Generate Hash tab. Follow these steps:
To check an existing hash, open the Verify Hash tab. Enter the original text in Password to Verify, paste the hash into Bcrypt Hash (the field hints at a value starting with $2b$12$), and click Verify Password.
Here is a realistic test run that shows what the tool returns and how to read it.
Suppose you are building a login form and need a sample hash for a test user. You enter Summer2024! in Password to Hash and leave the cost at 12. The strength bar shows a fairly strong rating because the text mixes letters, digits and a symbol. After you click Generate Bcrypt Hash, the output is a 60-character string that begins with something like $2b$12$, and the details panel reports the algorithm, a cost factor of 12 and a hash length of 60.
Generate again with the same password and you get a different string. That is the salt at work, and both strings are valid. Now open Verify Hash and paste either one with Summer2024!. You see "Password Matches!" and the message that the password matches the provided hash. Change the password to summer2024! (lowercase s) and you see "Password Does Not Match", because bcrypt is case sensitive.
Now compare costs. At cost 10 the same password needs 1,024 rounds, and at cost 12 it needs 4,096, so cost 12 is four times the work. Try both and notice the pause is longer at 12.
Each output tells you something specific about your hash, and each message points to a clear next step.
The cost shown in the results must match what you intended. A widely used guideline, including OWASP guidance, is a work factor of at least 10. Choose the highest value that still keeps a single login check comfortably fast on your own production hardware. Hardware varies, so test timing where the code will run. If logins feel sluggish, lower the cost by one. If they feel instant, consider raising it.
A healthy result shows a hash length of 60. If your database column is shorter, such as a 50-character field, the hash will be cut off and every verification will fail. Use a column that holds at least 60 characters. The Algorithm detail reports the bcrypt variant in the prefix, which matters when your framework expects a specific one. Laravel and PHP, for example, produce hashes starting with $2y$. The variants are closely related, and many libraries accept more than one, but check your framework documentation and confirm with a verify test.
The strength bar is a quick check on the input, not on the hash. A Very Weak or Weak rating means the password is easy to guess, and no cost factor can fully rescue it. Add length first, since a long passphrase beats a short complex one.
This tool helps anyone who needs a bcrypt hash right now without writing code.
If you work on a wider security checklist, the security and encryption tools collection covers related tasks such as certificates and request files.
Most bcrypt problems come from a handful of repeatable mistakes. Check these first.
Defense in depth also matters. Hashing protects stored credentials, while other controls protect the page that collects them, such as a header built with the content security policy generator. If you are also preparing HTTPS for the login page, the CSR generator creates the request you send to a certificate authority.
The tool is accurate for what it covers, but it has clear boundaries you should know.
Ready to try it? Enter a test password above, pick a cost factor, and generate your hash, then switch to the Verify Hash tab to confirm it matches before you paste it into your project.
Your report has been submitted. We will look into this issue.
A VPN changes your network exit. It does not guarantee anonymity.
Themes, plugins, code, video, audio, graphics & more from 90,000+ authors.
Web Development
Design & Media
Unlimited Access
Explore Envato Market