ToolboxHub

Bcrypt Tester

Paste the password and the hash

The check runs on its own as you type, right in your browser.

  • Everything runs in your browser

About the Bcrypt Tester

Verify whether a plain text password matches a bcrypt hash. It's the inverse of the generator: extremely useful for debugging logins, recovering access in test environments, and validating passwords without resetting the database. All verification happens locally, with nothing sent to any server. To generate bcrypt hashes, use our Hash Generator.

How to verify in 3 steps

  1. 1Paste the original password in the first field.
  2. 2Paste the bcrypt hash (60 characters, starting with $2a$, $2b$, or $2y$).
  3. 3The result shows up on its own: see whether the text matches the hash and the hash's parts.

Structure of a bcrypt hash

A bcrypt hash has 60 characters split into four parts separated by $.

PartExampleMeaning
Version$2b$Identifies the variant (2a, 2b, or 2y)
Cost10$Number of rounds (computational cost)
Salt22 charactersRandom sequence embedded in the hash
Hash31 charactersResult of bcrypt applied to the text + salt

Use cases by framework

The bcrypt algorithm is standardized, so hashes generated by the frameworks below follow the same format and can be verified here without any conversion.

Framework / languageGenerationVerification
Laravel (PHP)Hash::make($plain)Hash::check($plain, $hash)
Node.js (bcrypt / bcryptjs)bcrypt.hash(plain, rounds)bcrypt.compare(plain, hash)
Python (passlib / bcrypt)bcrypt.hashpw(plain, salt)bcrypt.checkpw(plain, hash)
Spring Security (Java)encoder.encode(plain)encoder.matches(plain, hash)
Django (Python)make_password(plain)check_password(plain, hash)
Ruby (bcrypt-ruby)BCrypt::Password.create(plain)password == plain

Frequently asked questions