Enter a password and check bytes
The classic Bcrypt input limit is 72 UTF-8 bytes. CJK and emoji take multiple bytes, so respond to the warning rather than relying on character count.
Try different keywords
No results found
Generate and Verify share one password input while the Hash Inspector explains the result; cost, timing, and the 72-byte boundary stay beside the operation.
Common compatibility baseline; benchmark production hardware
Local asynchronous bcrypt.js · passwords and hashes are never uploaded or stored
The classic Bcrypt input limit is 72 UTF-8 bytes. CJK and emoji take multiple bytes, so respond to the warning rather than relying on character count.
Each increment roughly doubles work. Cost 12 is a common starting point, but the production value must be timed on the real server.
A generated result automatically fills the Verify field. Verification reads the embedded salt and cost from the complete hash.
Bcrypt is password hashing, not reversible encryption. Each result contains a version, cost, random salt, and hash payload; a verifier reads the salt directly from the complete string.
A normal login computes once, while an attacker must repeat the expensive work for every guess. Cost should be reviewed as hardware changes without blindly slowing the service.
4–910–111213–1415Traditional Bcrypt uses only the first 72 password bytes. Seventy-two ASCII characters are 72 bytes, but CJK commonly uses three bytes and many emoji use four.
Common prefixes include 2a, 2b, and 2y. Modern output normally uses 2b, while 2y appears in PHP ecosystems. Test real samples with maintained libraries when migrating between languages.
No. Verification recomputes the input with the salt and cost embedded in the hash; a forgotten password should be reset.
No. It is a common starting point, but select a value through production-hardware benchmarks and consider concurrency, rate limiting, and UX.
Each generation uses a new random salt. Different strings can still verify the same password, which prevents rainbow-table and bulk precomputation attacks.
No. bcrypt.js computes asynchronously in the current page without sending inputs or writing browser storage.
Both support password storage. New systems commonly evaluate Argon2id first, while Bcrypt remains widespread for framework compatibility and existing data.