DEV3 Technologies home

Developer tool

Bcrypt Hash Generator and Checker

Generate bcrypt password hashes with a chosen cost factor, or check a password against an existing hash. Runs locally in your browser; nothing is sent.

Free, no sign-up. Runs in your browser; nothing is uploaded.

Mode

Generate a bcrypt hash

28 of 72 bytes used

1024 rounds

How to use the bcrypt hash generator and checker

Create a hash

  1. Open the Generate tab, type a password and choose the cost factor from 4 to 14.
  2. Press Generate hash. Higher costs take longer: cost 12 is about 16 times slower than cost 8. The page stays responsive while it works.
  3. Copy the hash that begins with $2b$ and store it in your database in a text column of at least 60 characters.

Check a password

Open the Verify tab, paste a stored hash and type a password. The tool tells you whether they match and shows the version, cost and salt parsed from the hash. This is handy when a login fails and you need to know if the stored value is a real bcrypt hash or was truncated or double-encoded.

Reading a bcrypt hash

A hash looks like $2b$12$abcdefghijklmnopqrstuuXXXXXXXX.... After the version comes the cost, then 22 characters of salt and 31 characters of hash, 60 characters in total. Because the cost sits inside the hash, you can raise it for new accounts and rehash old ones the next time each user logs in.

Good practice

  • Never store plain passwords, and do not use fast hashes such as MD5 or SHA-1 for passwords.
  • Use your language's maintained library on the server, for example password_hash in PHP, the bcrypt package in Node, or Laravel's Hash facade.
  • Never compare hashes with ==. Use the library's verify function.
  • Consider Argon2id for new systems if your stack supports it. bcrypt remains a sound, widely supported choice.

Frequently asked questions

Is it safe to hash a real password here?

The hashing runs inside your browser and nothing is transmitted. Even so, use this tool for test data and for checking hashes, and avoid typing live production passwords into any website.

What cost factor should I use?

Pick the highest cost your login page can afford, usually 10 to 12 today. Each extra step doubles the work. Test on your production hardware and aim for roughly a quarter to half a second per hash.

Why is the same password hashed differently each time?

bcrypt adds a random salt to every hash and stores it inside the result. Two hashes of one password look different but both verify, which is why you compare with the checker instead of comparing strings.

Why does bcrypt reject long passwords?

bcrypt only uses the first 72 bytes of the input. This tool refuses longer passwords rather than silently cutting them. If you need longer ones, hash them with SHA-256 first and encode the digest.

What do the prefixes $2a, $2b and $2y mean?

They are versions of the algorithm. This tool produces $2b hashes. All three verify the same way for ordinary passwords, and PHP, Node, Python, Ruby and Java libraries read them.