PHC winner · memory-hard · best practice

Argon2 password hashing

Argon2 won the Password Hashing Competition in 2015. It's memory-hard, making it resistant to GPU/ASIC attacks. Three variants: Argon2i (side-channel resistant), Argon2d (GPU resistant), and Argon2id (hybrid). Current best practice for password storage.

Paste an Argon2 hash above to see its structure and verify parameters.

How to use this tool

  1. Grab an Argon2 hash string — from a database row, a password file, or a library like libsodium — and paste it into the Argon2 format analyzer box.
  2. The breakdown appears instantly below: variant, version, memory, iterations, parallelism, salt, and hash.
  3. Read the Security analysis block to see whether memory, iterations, and variant meet OWASP recommendations.
  4. Use the footer's field reference to understand what m, t, and p mean.
  5. Paste a different hash to re-analyze it — the output updates on every change.

Why this tool is helpful

Verify hash parameters

Confirm that stored password hashes weren't created with weak memory or iteration settings before you trust them in production.

Learn the Argon2 format

The $argon2id$v=19$m=…,t=…,p=…$salt$hash structure is decoded field by field, so you can read any Argon2 hash at a glance.

Tell the variants apart

See at a glance whether a hash uses Argon2i, Argon2d, or Argon2id — and whether that's the right choice for your threat model.

Audit against OWASP

Compare memory (≥19 MiB), iterations (≥2), and variant (Argon2id) against current OWASP password-storage guidance.

Debug password systems

Confirm a hash is well-formed before wiring it into libsodium, argon2 (npm), or argon2-cffi (Python).

Stay private

Everything runs in your browser. Hashes you paste are never uploaded, logged, or sent to a server.

FAQ

What is Argon2?

Argon2 is a memory-hard password hashing function and the winner of the 2015 Password Hashing Competition. It's designed to be expensive for attackers using GPUs or ASICs, making it the current best practice for storing passwords.

What's the difference between Argon2i, Argon2d, and Argon2id?

Argon2i is resistant to side-channel (timing) attacks, Argon2d is resistant to GPU cracking, and Argon2id is a hybrid of the two. OWASP recommends Argon2id for most use cases.

What do m, t, and p mean?

m is memory cost in KiB, t is the number of iterations (time cost), and p is the parallelism (number of threads). Together they control how costly the hash is to compute.

Why won't my hash parse?

This tool expects a complete encoded hash in the form $argon2id$v=19$m=65536,t=3,p=4$salt$hash. A hash missing a field, using a different variant prefix, or with extra whitespace won't match.

Does this tool hash my password?

No. This is a reference and analyzer — it reads the structure of an existing Argon2 hash and checks its parameters. It does not compute new hashes from a password.

What does OWASP currently recommend?

Argon2id with m=19456 (19 MiB), t=2, and p=1. The security analysis in this tool flags hashes that fall below those thresholds.

Does any of my data leave my browser?

Never. All analysis happens locally in JavaScript. Your hashes are not sent to, stored on, or logged by any server.