AES Encrypt / Decrypt

Protect a message with a password using AES-256-GCM authenticated encryption. Free and fully private — the encryption key is derived from your password with PBKDF2 right in your browser, and nothing is ever uploaded.

This password is the only way to decrypt the message. If you lose it, the text cannot be recovered.

How to encrypt and decrypt text

  1. Choose a mode. Select Encrypt to turn readable text into a protected message, or Decrypt to turn an encrypted message back into readable text.
  2. Enter a password and your text. Type a strong password, then paste the message (plain text to encrypt, or the Base64 blob to decrypt). Keep the password safe — it is the only key.
  3. Run and share. Press the button, then copy or download the result. Send the encrypted text and the password to your recipient through separate channels for the best security.

About this tool

This tool uses the browser's built-in Web Crypto API to perform AES-256 in GCM mode, an authenticated encryption scheme that both hides your message and detects any tampering. Your password is never used directly as a key; instead it is stretched into a 256-bit key with PBKDF2 using 250,000 SHA-256 iterations and a fresh random 16-byte salt, which makes brute-forcing weak passwords far slower. A new random 12-byte initialization vector is generated for every encryption, so encrypting the same text twice produces completely different output.

The final Base64 string packs the salt, the initialization vector and the ciphertext together, so a recipient only needs that one blob plus the password to decrypt it. Everything runs locally in your browser with JavaScript — your password, plaintext and ciphertext are never sent to a server, logged or stored, which makes this safe for notes, credentials and other sensitive text.

Frequently asked questions

What encryption algorithm is used?

AES-256 in Galois/Counter Mode (AES-256-GCM), a modern authenticated cipher. The key is derived from your password with PBKDF2-HMAC-SHA-256 using 250,000 iterations and a random salt, all through the browser's audited Web Crypto implementation.

Can you recover my password or my message if I forget it?

No. There is no password reset and no copy of your data anywhere. The password never leaves your device, so if you lose it the encrypted text is effectively unrecoverable. Store important passwords in a password manager.

Is my text uploaded or stored anywhere?

No. All encryption and decryption happen in your browser using the Web Crypto API. Nothing you type is transmitted, saved or logged, and the tool keeps working offline once the page has loaded.

Why does the same text produce different output each time?

A fresh random salt and initialization vector are generated for every encryption, which is exactly what you want — it prevents attackers from spotting repeated messages. Both values are stored inside the output blob so decryption still works with the correct password.

Can I decrypt this with another program?

Yes, if it follows the same format: Base64-decode the blob, take the first 16 bytes as the PBKDF2 salt and the next 12 bytes as the AES-GCM IV, derive the key with PBKDF2-SHA-256 at 250,000 iterations, then AES-256-GCM decrypt the remaining bytes.