Security & Crypto
AES Encrypt / Decrypt
Password-based AES-256-GCM, or raw-key AES-GCM, CBC and CTR compatible with OpenSSL and Node.
Loading the AES Encrypt / Decrypt…
About the AES Encrypt / Decrypt
Encrypt text with a password (AES-256-GCM with a PBKDF2-derived key, random salt and IV), or use your own key and IV in AES-GCM, AES-CBC or AES-CTR to interoperate with OpenSSL, Node.js, Java or Python. Everything uses the browser’s Web Crypto API.
How to use it
- Choose Password, or Raw key + IV.
- Choose Encrypt or Decrypt and paste the text.
- Copy the result.
Frequently asked questions
- Which AES mode should I use?
- AES-GCM. It encrypts and authenticates, so tampering is detected. CBC and CTR are provided for compatibility with existing systems.
- Can I decrypt the password output elsewhere?
- It uses a documented format: "dts1", iteration count, 16-byte salt, 12-byte IV, then the ciphertext and tag, Base64-encoded. Any AES-GCM library with PBKDF2-SHA-256 can read it.
- Is my data uploaded?
- No. Everything runs in your browser tab with JavaScript. Nothing you enter is uploaded, logged or stored, and the page works offline once loaded.