AES Cipher
Encrypt and decrypt text with AES-256-GCM and a passphrase, entirely in your browser.
Output format: TKAES1.<salt>.<iv>.<ciphertext> — three Base64 segments joined by dots. PBKDF2-SHA256 (210000 iterations) derives the 256-bit key; a fresh random salt and IV are generated for every encryption.
How to use it
- Pick Encrypt or Decrypt from the mode selector.
- Type a passphrase - it is the only secret; there is no key file to manage.
- Encrypt mode: paste plaintext and click the action button. You get a TKAES1 string.
- Decrypt mode: paste a TKAES1 string. The correct passphrase restores the original text.
- Share the composite string and the passphrase through separate channels.
Common use cases
- Protecting notes in transit - turn a secret into a compact string that is meaningless without the passphrase.
- Cross-device handoff - copy the TKAES1 string to another device and decrypt it with the same passphrase.
- Verifying the format - inspect the salt, IV and ciphertext segments to understand authenticated encryption.
- Learning AES-GCM - see tampering fail: a modified string refuses to decrypt instead of returning garbage.
Why it stays private
Key derivation, encryption and decryption all run in this page with the Web Crypto API. The passphrase and plaintext never leave your device, are not sent to any server, and are not written to storage.
FAQ
Q: What is inside the TKAES1 string? A: Four dot-separated segments: the literal version tag TKAES1, a Base64 16-byte salt, a Base64 12-byte IV, and the Base64 ciphertext. Decryption reads the salt and IV back, derives the key from your passphrase with PBKDF2-SHA256 (210000 iterations), and authenticates the ciphertext with GCM.
Q: I lost the passphrase. Can the text be recovered? A: No. The key exists only while derived from your passphrase in this page; there is no escrow or recovery path. Losing the passphrase means losing the plaintext.
Q: Is this suitable for production secrets? A: It is a solid demonstration of standard primitives, but for production you should use an audited library and a real threat model - for example proper key rotation, and a higher iteration count if latency allows.
Your data stays on this device
AES Cipher runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.
Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.