Free developer tools

Bcrypt Generator & Checker.

Hash passwords with bcrypt at any cost factor, and verify passwords against existing hashes — entirely in your browser.

Developed and hosted in the EU
Bcrypt Generator
Hash & verify · cost 4–15
Runs entirely in your browser
12
4 · fast (testing)15 · very slow
Bcrypt hash
Enter a password — the hash appears here.

Hashing runs in your browser — nothing is transmitted or stored. Use test passwords: this is a development tool, not a login form.

Slow on purpose

Regular hashes like SHA-256 are built for speed — an attacker with a stolen database can test billions of password guesses per second. bcrypt inverts that: its cost factor makes each attempt deliberately expensive, and every hash carries its own random salt, so identical passwords produce different hashes and precomputed tables are useless. That is why passwords belong in bcrypt (or Argon2), never in a fast hash — see our hash generator for the fast kind.

Anatomy of a bcrypt hash

$2b$12$R9h/cIPz0gi.URNNX3kh2O… reads as: format version (2b), cost factor (12 → 2¹² rounds), then 22 characters of salt followed by 31 characters of hash. Everything needed for verification travels inside the string — no separate salt column required.

Choosing a cost factor

Aim for the slowest hash your users will tolerate at login — commonly 50–250 ms on your production hardware, which lands most systems at cost 10–12 today. Benchmark on the server, not your laptop, and re-visit the number every few years: hardware gets faster, and the cost factor is how you keep pace. The timing display above gives you a feel for the growth — each step doubles the work.

The 72-byte limit

bcrypt only processes the first 72 bytes of the password — longer input is silently truncated by most implementations. Normal passwords never get close, but long passphrases with multi-byte characters can. If you allow very long passwords, enforce the limit explicitly in validation rather than relying on silent truncation.

Frequently asked questions

Why does the same password produce a different hash every time?
Because bcrypt generates a fresh random salt for every hash and embeds it in the output. That is a feature: two users with the same password get completely different hashes, and precomputed rainbow tables become useless. Verification still works, because the salt is read back out of the hash itself.
What does the cost factor mean?
The cost (work factor) is an exponent: cost 12 means 2¹² = 4,096 internal rounds. Each +1 doubles the computation time — for you and for an attacker. Choose the highest cost your login latency budget allows; 10–12 is the common production range in 2026.
Can a bcrypt hash be decrypted?
No — bcrypt is a one-way function, there is nothing to decrypt. The only way to recover a password is to guess candidates and hash each one, which is exactly what the cost factor makes expensive. A strong, unique password stays out of reach even for well-funded attackers.
What do $2a$, $2b$ and $2y$ mean?
They are format version prefixes: $2b$ is the current standard, $2y$ comes from PHP's fix of an old bug, $2a$ is the original. Modern libraries verify all of them interchangeably. The two digits after it are the cost factor, followed by 22 characters of salt and 31 of hash.
Why is bcrypt limited to 72 bytes?
The Blowfish cipher inside bcrypt only keys on the first 72 bytes of input — anything longer is silently ignored by most implementations. For normal passwords that is irrelevant; for machine-generated secrets or passphrases, either keep them under 72 bytes or pre-hash them (carefully) before bcrypt.
Should I use bcrypt or Argon2?
For new systems, Argon2id is the current recommendation (OWASP) because it also hardens against GPU attacks with configurable memory cost. bcrypt remains a solid, battle-tested choice with excellent library support — if your stack already uses it with a sensible cost factor, there is no urgent need to migrate.
Is it safe to type a password into this page?
Hashing and verification run entirely in your browser via a JavaScript bcrypt implementation — nothing is transmitted, stored, or logged. Still, prefer test passwords: this tool is for development and debugging, not for handling your real credentials.

Free tools from a European software company.

  • Runs in your browser
  • Made & hosted in the EU
  • No account needed