DevToolStation

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

  1. Choose Password, or Raw key + IV.
  2. Choose Encrypt or Decrypt and paste the text.
  3. 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.