AES Encrypt / Decrypt
Encrypts text with a passphrase using AES-256-GCM, entirely in the browser via the Web Crypto API — nothing is sent anywhere, in either direction. Paste the resulting blob back in with the same passphrase to get the original text back.
What's actually happening under the hood
A passphrase isn't an AES key — it's arbitrary-length text a human can remember, and AES needs a fixed-length random-looking key. This tool bridges that gap with PBKDF2, deriving a 256-bit key from your passphrase plus a random salt, run through 250,000 hash iterations specifically to make brute-forcing the passphrase slow even if someone gets hold of the encrypted blob. The salt and the IV (initialization vector, required by GCM to be different every single time) are both randomly generated per encryption and bundled into the output — that's why encrypting the same text twice with the same passphrase produces a completely different blob each time, which is correct, expected behavior, not a bug.
Why GCM specifically, not just any AES mode
AES-GCM is an authenticated encryption mode — it doesn't just encrypt, it also detects tampering. Change a single byte of the encrypted blob, or use the wrong passphrase, and decryption fails outright rather than silently producing corrupted garbage. That's a meaningfully different (and better) failure mode than older AES modes like CBC, which will happily "decrypt" tampered or wrong-key ciphertext into nonsense without any indication anything went wrong.
What this is genuinely useful for, and where its limits are
Good for quickly encrypting a note, a config snippet, or a small secret you need to pass to a colleague through a channel you'd rather not send it through in plaintext — paste the blob into Slack or email, share the passphrase a different way. Not a replacement for a real secrets manager, disk encryption, or TLS — this is client-side, single-shot text encryption with no key management, no rotation, no audit trail. If you lose the passphrase, the data is unrecoverable — genuinely, permanently, by design; there is no backdoor to build into a scheme built on Web Crypto's own AES-GCM implementation.