Loading Techie Utils…

PBKDF2 Key Generator

Derive a key from a passphrase with PBKDF2 and the iterations you choose. Free, and runs entirely in your browser — nothing is uploaded.

About Key Derivation

A passphrase is not a key: it is short, guessable and drawn from a small alphabet. A key derivation function turns one into key material by being deliberately expensive — so an attacker who steals the stored result has to pay that cost again for every guess.

Four functions, and the choice matters more than the parameters. Argon2id is the current recommendation: it costs both time and memory, which is what defeats a machine built for cracking. scrypt is the older memory-hard option and a good answer where Argon2 is unavailable. PBKDF2 is what standards and compliance regimes still name, and it resists a faster processor but not a wider one — a GPU runs thousands of copies in parallel. HKDF is the odd one out: it expands a secret that is already unguessable, and must never be handed a password.

The time the derivation took in this browser is reported, because that is the number that matters: it is roughly what one guess costs an attacker with similar hardware. The findings underneath say whether the settings meet the guidance of the day — 600,000 iterations for PBKDF2-SHA256, 19 MiB and two passes for Argon2id.

Everything happens in this tab: the passphrase is never sent anywhere, and neither is the key that comes out.

Where it helps

  • Argon2id, scrypt, PBKDF2 and HKDF in one place, with the parameters each one actually takes.
  • Reports how long the derivation took here, which is the honest measure of how costly a guess is.
  • Checks the settings against current guidance and says plainly when they fall short.
  • Accepts a salt as text, hex or Base64, so an existing stored salt can be reproduced exactly.
  • Runs locally: neither the passphrase nor the derived key leaves the browser.

Limits

  • A browser is slower than a server and far slower than a cracking rig, so the timing is a lower bound on your own cost and an upper bound on nobody's.
  • Argon2id and scrypt hold their memory in this tab; very large settings will make the page pause while they run.
  • It derives keys — it does not store them, rotate them or wrap them for you.
  • HKDF is offered for completeness and is the wrong answer for a password, which the findings say each time.

Frequently asked questions

Which function should I choose?

Argon2id unless something stops you, then scrypt. PBKDF2 only when a standard or a platform requires it — and then with 600,000 iterations or more of SHA-256.

What is the salt for?

It makes each derivation unique, so one table of pre-computed hashes cannot cover every user. It is not a secret: store it alongside the result, but use a different one for every secret.

Why is HKDF here if it is not a password hash?

Because deriving several keys from one strong secret — a session key and a MAC key from the same shared secret, say — is a real and separate job, and HKDF is what does it.

Can I use this to check a stored password?

Only if you can reproduce the exact function, salt and parameters it was stored with. Reproduce them here and the derived key will match byte for byte.

Related tools

More Security & Cryptography tools

  • Hash Generator — SHA-2, SHA-3, BLAKE and legacy digests, in any encoding
  • MD5 Generator — MD5 digests, with a plain account of what they are still good for
  • HMAC Generator — Keyed message authentication codes
  • Key Derivation — Stretch a passphrase into key material with PBKDF2, scrypt or Argon2id
  • Password Generator — Strong random passwords with an entropy estimate
  • Password Strength — Judge a password by what an attacker would actually try
  • JWK Generator — A JSON Web Key for a JOSE algorithm, with its key set and thumbprint id
  • Key Pair Generator — RSA and elliptic-curve key pairs, generated in this tab and never sent
  • TOTP / HOTP Generator — Two-factor codes, the QR code to enrol with, and why one did not match
  • Text Encryption — AES-256-GCM with a PBKDF2 passphrase
  • Bcrypt Generator — Hash a password with bcrypt, verify one against a hash, or read what a hash is made of