AES-256-GCM • PBKDF2 Key Derivation • 100% Local, Never Transmitted
This tool encrypts and decrypts text using AES-256-GCM, computed with your browser's native Web Crypto API rather than a hand-written implementation — AES is a complex block cipher, and reimplementing it manually carries real risk of subtle bugs that could quietly weaken the encryption. GCM mode also provides authenticated encryption: any tampering with the encrypted data, or an incorrect passphrase, causes decryption to fail outright rather than silently returning corrupted or garbage text.
Since a passphrase isn't a proper 256-bit encryption key on its own, it's run through PBKDF2 (250,000 iterations with SHA-256) together with a random salt to derive the actual AES key — this makes brute-forcing the passphrase significantly slower for an attacker. A new random salt and a new random initialization vector (IV) are generated for every single encryption, which is why encrypting the exact same message with the exact same passphrase twice produces two completely different outputs — this is intentional and is what keeps the encryption secure against pattern analysis. The salt and IV are bundled together with the ciphertext in the output, since they're needed (but not secret) to decrypt it later.
Your text and passphrase are never transmitted anywhere — encryption and decryption both happen locally in this browser tab. If you lose the passphrase, the encrypted text cannot be recovered by this tool or by anyone else.