AES Encrypt / Decrypt 🔒 Runs locally in your browser — nothing is uploaded.

Encrypt or decrypt text with a passphrase (AES-GCM).

  

About this tool

Sometimes you need to send a snippet of text — a note, a credential, a message — through an insecure channel like chat or email. Encrypt it here with a passphrase, share the ciphertext, and the recipient decrypts it with the same passphrase. This tool uses AES-GCM, an authenticated cipher, with a key stretched from your passphrase using PBKDF2.

All of it runs through the browser’s Web Crypto API on your own device — your text and passphrase are never uploaded. Just remember that the security rests entirely on keeping the passphrase secret and strong.

Frequently asked questions

What encryption does this tool use?

AES-256-GCM, with the key derived from your passphrase via PBKDF2 (100,000 iterations, SHA-256). GCM gives you both confidentiality and built-in tamper detection (an authentication tag) — if the ciphertext is modified or the passphrase is wrong, decryption fails rather than returning garbage.

Is this suitable for production key management?

It's solid encryption for one-off tasks like protecting a note or a config value, but it derives a key from a password rather than managing keys the way a production system (KMS, vault, hardware security module) would. For application secrets at scale, use a dedicated key-management service.

Is my passphrase or text sent anywhere?

No. Everything happens locally using the browser's Web Crypto API. Your passphrase isn't even saved to this page's local persistence — only the input text field is remembered, and the password field is always cleared on reload.

Why do I get a different result every time I encrypt the same text?

Each encryption generates a fresh random salt and IV (initialization vector), which are prepended to the ciphertext and required for decryption. That randomness is essential — reusing a salt/IV would weaken the encryption — so encrypting identical input twice always produces different output.

Why did decryption fail with "wrong passphrase"?

GCM includes an authentication tag that fails to verify if the passphrase is wrong or the ciphertext was altered in any way, even by one character. If you're sure the passphrase is right, check that you copied the full Base64 output, including the salt/IV header at the start.