Browser-first hashing toolkit

Hash, HMAC, password hashing, KDF and checksum tools

Most calculations run directly in your browser. Inputs are not uploaded to the server.

Privacy-first
Logs contain only operation metadata, never plaintext, passwords, keys, salts or results.

Hash calculator

Calculate one or many algorithms at the same time for text or files.

Text is processed locally in this browser.
Drop a file here or tap to choose
Large files are processed as a stream in the browser.
Choose how the entered text is converted to bytes before hashing.
Useful when visually identical Unicode strings must produce the same bytes.
HEX is the most common representation for hashes.
Only affects display, not the hash value.

Select multiple algorithms to calculate them in one operation.
Legacy algorithms such as MD4, MD5 and SHA-1 should not be used for new security-sensitive designs.
Results

HMAC calculator

Create a keyed message authentication code using a secret key.

The message to authenticate.
Keep this key secret. It is never written to the server log.
How the message is converted to bytes.
How the secret key is converted to bytes.
SHA-256 or stronger is a good default for new systems.
Choose HEX or Base64 for the displayed HMAC.
HMAC

Password hashing and KDF

Generate password hashes or derived keys with configurable work factors.

The value is processed locally and is never logged.
Argon2id is the preferred general-purpose password hashing option here.
A unique random salt prevents identical passwords from producing identical hashes.
How the Salt field is converted to bytes.
Result

Verify and detect

Detect common hash formats or verify a value against a known hash.

Plain input used to recalculate or verify the supplied hash.
bcrypt and Argon2 encoded hashes can be verified automatically.

Checksum and fast non-cryptographic hash

Useful for integrity checks, deduplication and fast indexing. Not for password security.

Input is converted to bytes according to the encoding below.
Choose how the entered text is converted to bytes before hashing.