Password Encryption Utility

Encrypt text with a password (or decrypt a bundle) using real AES-256-GCM, entirely in-browser.

Encrypt text with a password using AES-256-GCM in your browser. Free encryption utility with PBKDF2 key derivation — decrypt with the same password.

Calculator Inputs

About Encrypt Text

Encrypt text with a password (or decrypt a bundle) using real AES-256-GCM, entirely in-browser.

Your password never encrypts directly: PBKDF2 stretches it through 100,000 SHA-256 rounds with a random salt into a 256-bit key, and AES-GCM encrypts with a random IV while authenticating the ciphertext. The output bundles salt, IV, and cipher in one dotted string — everything needed to decrypt, except the password.

Decryption with the wrong password fails closed (authenticated encryption detects tampering). Keys and plaintext never leave your browser; nothing is stored or sent.

Where it is used

Sharing secrets without plaintext channels, storing encrypted notes, and learning how password-based encryption composes.

How to use the Encrypt Text

  1. Mode — enter the value.
  2. Password — enter the value (e.g. correct horse battery staple).
  3. Plaintext (encrypt) or salt.iv.cipher bundle (decrypt) — enter the value (e.g. Secret launch codes).
  4. Calculate — press the Calculate button to see the result instantly above.

Formula

PBKDF2-SHA256 (100k) → AES-256-GCM. Bundle: base64(salt).base64(iv).base64(cipher).

Examples

Example

mode:encrypt
password:correct horse battery staple
message:Secret launch codes
Result: base64(salt).base64(iv).base64(ciphertext)

Frequently Asked Questions

Can you recover my password or data?
No — and neither can we. There is no server and nothing is stored. Lose the password and the bundle is unrecoverable by design.
Is 100,000 PBKDF2 iterations enough?
It is OWASP’s baseline for PBKDF2-HMAC-SHA256. Pair it with a long passphrase; iteration counts cannot save "password123".
Why do repeated encryptions differ?
Fresh random salt and IV each time. Same password + same message still yields different bundles — a security feature, not a bug.