Skip to content
epitometool

Bcrypt hash generator

Security tools

Generate bcrypt-style password hashes with configurable rounds for testing workflows.

Updated

Input

Output

Compatibility note: browser-safe pseudo-bcrypt format for testing and demos.

Quick start

How to generate bcrypt hashes

Provide password, set cost rounds, and generate output.

  1. Step 1
    Enter password

    Input password and round factor.

  2. Step 2
    Generate

    Create hash string for testing.

  3. Step 3
    Use output

    Copy hash into fixtures or local auth DB.

In-depth guide

Bcrypt password hashing explained: cost factors, salts and safe use

Bcrypt is a password-hashing function built on the Blowfish cipher and designed to be deliberately slow. That slowness is the point: it makes large-scale password cracking expensive while staying fast enough for a single legitimate login. This tool generates bcrypt hashes in your browser so you can build test fixtures and understand how the cost factor and salt fit together.

Anatomy of a bcrypt hash

A bcrypt hash looks like $2b$12$R9h/... and packs four things into one string: the algorithm version (2b), the cost factor (12), a 22-character salt and the hash itself. Because the salt is stored inside the hash, every password gets a unique salt automatically and you never store it separately.

Choosing the cost factor

The cost factor is a power of two: cost 12 means 212 = 4,096 key-expansion rounds. Each step up doubles the work. Pick a value that keeps a single hash around 100–250 ms on your production hardware — commonly 10 to 12 today. Use the slider here to feel how higher rounds increase the time to compute each hash.

How to use this tool

  1. Type the password you want to hash.
  2. Choose a cost factor with the rounds slider.
  3. Copy the generated hash into your test database or fixture file.

To verify a password later, your server-side bcrypt library compares the candidate against the stored hash — you never decrypt a bcrypt hash, because it is one-way.

Pitfalls and when not to use it

Bcrypt silently truncates input beyond 72 bytes. For long passphrases, pre-hash with SHA-256 or choose Argon2id instead.
  • Use this for test fixtures and learning, not as a drop-in replacement for an audited, server-side bcrypt implementation that controls timing and memory.
  • Never reuse a hash across users — the built-in salt already prevents that if you generate each one fresh.
  • Privacy: the password is hashed locally in your browser and is never uploaded.

When to use it vs alternatives

Use this tool for quick browser-based work when you need an answer or output immediately. Use a dedicated application or automated workflow when you need bulk processing, approvals, or repeatable production rules.

Frequently asked questions

What does this tool produce?

A bcrypt hash string of the form $2b$cost$salthash, suitable for test fixtures and learning how bcrypt stores its salt and cost factor inside one value.

How do I choose the cost factor?

Pick the highest value that keeps a single hash around 100–250 ms on your production hardware, commonly 10 to 12. Each step doubles the work, so cost 12 is twice as slow as cost 11.

Can I reverse a bcrypt hash back to the password?

No. Bcrypt is one-way. Verification works by hashing the candidate password with the stored salt and cost, then comparing — you never decrypt it.

Why do two hashes of the same password look different?

Each hash embeds a unique random salt, so the same password produces different output every time. That is what stops attackers from using precomputed rainbow tables.

Is there a length limit?

Yes. Bcrypt only uses the first 72 bytes of input. For longer passphrases, pre-hash with SHA-256 first, or use Argon2id which has no such limit.

Does my password leave the browser?

No. The hash is computed locally in your browser and the password is never uploaded.

Keep exploring

More tools you'll like

Hand-picked utilities that pair well with the one you're on — all free, client-side, and zero-signup.