Skip to content
Free, no sign-up, in your browser

Bcrypt Generator online: generate and verify hashes

The Bcrypt Generator & Checker lets you generate a 60-character bcrypt hash online with the prefix $2b$ and a cost factor from 4 to 15. You can also check whether an existing hash matches plaintext. It is free and requires no sign-up: bcryptjs runs the calculation directly in your browser, so your text is neither transmitted nor stored.

Built by Rugile Rutkauskaite

Taking it to production? Host your project on a VPS with full control.

Generate hash

Generate a bcrypt hash from your text. More rounds mean greater security but also more processing time.

High security — suitable for production use

Verify hash

Check whether a bcrypt hash matches a plaintext value.

Guide

How to use the Bcrypt Generator

Generate a bcrypt hash and verify an existing hash in five steps.

Step 1

Enter text

In the “Generate hash” section, enter the password or text you want to hash under “Text to hash”.

Step 2

Choose a cost factor

Set the rounds between 4 and 15 using the slider or the - and + buttons. The default is 12. Below it, the tool shows a security and computation-time rating.

Step 3

Generate and copy a hash

Click “Generate hash” and copy the 60-character bcrypt hash with “Copy”.

Step 4

Paste an existing hash

Paste a bcrypt hash into the “Verify hash” section and enter the original text.

Step 5

Verify hash

Click “Verify hash”. The tool reports “Match”, “No match” or “Invalid bcrypt hash format”.

Example result

What a hash from the Bcrypt Generator looks like

You enter plain text and choose the cost factor, and the tool generates a 60-character bcrypt hash that you can later test against the plain text using “Verify hash.” The hash below is a fixed example: bcrypt generates a new salt on every run, so your hash will look different even for the same text.

Example · Fixed example hash, new salt on every run

Input

Plain text
zap-hosting
Cost Factor (Rounds)
12
High security — suitable for production use

Output

bcrypt hash (60 characters)
$2b$12$hr8ClvGGH01FXNQBc4g7uurz4HpChG/mbHCsyXJtzOdLgNChQX/zy
Your application stores this value instead of the password.
Salt (22 characters)
hr8ClvGGH01FXNQBc4g7uu
Appears directly after $2b$12$ in the hash.
Verify hash
Allowed
The check reports a match for the plaintext zap-hosting, but not for any other text.

How a bcrypt hash is structured

PartMeaning
$2b$bcrypt algorithm version ($2a$, $2b$, or $2y$).
12Cost factor: 2 to the power of 12 = 4096 iterations. Each additional level doubles the calculation time.
22 charactersSalt: random for each hash, included in the hash itself, and doesn't need to be stored separately.
31 charactersThe resulting hash value from the plaintext, salt, and cost factor.

Why bcrypt

Bcrypt features

What makes bcrypt suitable for hashing passwords.

Salted hashing

A random salt is generated for each password to protect against rainbow table attacks.

Adjustable cost factor

The work factor can be configured to keep bcrypt secure as hardware improves.

Based on Blowfish

Derived from the Blowfish cipher — its computationally intensive key setup makes it slow by design.

Cross-platform

Widely used and supported in Java, Python, Node.js, PHP, and many other languages.

Recommended: 12 rounds

The tool rates 12 rounds as suitable for production use. 13 and 14 are highly secure but noticeably slower to compute.

One-way hash

Irreversible — passwords are verified by hashing them again, never recovered in plain text.

How it works

How Bcrypt works

Three steps from your plain text to a hash.

Step 1

Salting

A random salt is generated for each password.

Step 2

Hashing

The Blowfish cipher is applied repeatedly based on the cost factor—each additional level doubles the computation time.

Step 3

Save

Cost Factor, Salt, and Hash are encoded together in a single 60-character string.

Explore more

More security tools

FAQ

Frequently asked questions about the Bcrypt Generator

Brief answers about bcrypt and this tool.

bcrypt is a deliberately computationally intensive password-hashing algorithm based on the Blowfish cipher. Encryption can be reversed with the right key; a hash cannot. Applications store only the hash and check a password by hashing it again. Fast hashes such as SHA-256 are intended for checksums; passwords need slower algorithms such as bcrypt or Argon2id.

A 60-character bcrypt hash. For the plaintext zap-hosting with cost factor 12, it might look like this: $2b$12$hr8ClvGGH01FXNQBc4g7uurz4HpChG/mbHCsyXJtzOdLgNChQX/zy. It starts with version $2b$, followed by the cost factor, a 22-character salt, and a 31-character hash value. Because a new salt is generated each time, even the same text produces a different hash on every run, but verification with “Verify hash” still works.

Paste the hash into the “Verify hash” section, enter the original text and click “Verify hash”. The result is “Match”, “No match” or “Invalid bcrypt hash format”. The tool recognizes hashes with the prefixes $2a$, $2b$ and $2y$, including $2y$ hashes from PHP. A cost factor outside 4 to 31 is considered invalid. The tool generates new hashes with the $2b$ prefix.

No — this is technically impossible. Bcrypt is a one-way function: there is no reverse operation that can recover the original plaintext from a hash. Applications therefore verify a password by hashing the entered text again and comparing it with the stored hash (exactly what the “Verify hash” section above does), not by “decrypting” the hash.

The slider ranges from 4 to 15 and defaults to 12. The tool rates each setting: up to 8 for testing only; 9 and 10 below the recommended minimum; 11 good security; 12 suitable for production use; 13 and 14 noticeably slower; and 15 significantly longer to compute. Each increase of one round doubles the computation time.

Bcrypt automatically adds a random salt to each hash, which is included in the resulting hash. This means the same plaintext produces a different 60-character hash each time—this is intentional and provides additional protection against rainbow table attacks. You can still use the “Verify hash” section, as the salt is already included in the stored hash.

Yes. bcrypt uses only the first 72 bytes of text; anything after that does not affect the hash. Characters such as ä take 2 bytes and emojis often take 4, so you can reach the limit in fewer than 72 characters. The tool counts the bytes and shows a warning during generation and verification if your text exceeds 72 bytes.

Hashing and verification run entirely in your browser using the bcryptjs library. Your text is not sent to a server or stored anywhere. The tool is intended for testing and learning. In production, hash passwords directly in your application using a trusted bcrypt library.

Any more questions?

Contact Support
Security goes beyond hashing

Looking for a secure server for your application?

A ZAP-Hosting VPS gives you full control over your own infrastructure, including SSH access, a firewall, and full root access.

4.4/5 Trustpilot32,000+ Active serversSince 2010

No setup. No risk. Online in seconds.

Flexible TermCancel anytimeOnline in 60 seconds

Looking for more tools? View all developer tools