AES Encrypt / Decrypt Online
This tool encrypts and decrypts text with AES-256-GCM right in your browser.
Encrypt
Encrypt & Decrypt Text with AES Online
This tool encrypts and decrypts text with AES-256-GCM right in your browser. You only supply a password: the tool stretches it into a 256-bit AES key using PBKDF2 (SHA-256, 200,000 iterations) together with a fresh 16-byte random salt generated for every encryption. A random 12-byte IV is then used so AES-GCM provides both confidentiality and an authentication tag that detects tampering. The output is a single base64 string that concatenates the salt, the IV and the ciphertext (including the GCM tag); decryption reads those parameters back automatically.
Everything runs client-side through the browser's native WebCrypto (crypto.subtle) — your plaintext, ciphertext and password are processed locally and never uploaded, which you can confirm in the browser's Network panel. Because each encryption uses a new random salt and IV, encrypting the same plaintext with the same password twice yields different ciphertext — that is the expected, secure behavior.
Frequently Asked Questions
Are my plaintext and password uploaded?
Encryption and decryption run locally without uploading plaintext or passwords for computation. Loading page resources can produce network requests and is separate from handling tool inputs.
Which algorithm and parameters are used?
AES-256-GCM for encryption and authentication; the key is derived with PBKDF2 (SHA-256, 200,000 iterations) from your password plus a random 16-byte salt; each encryption uses a random 12-byte IV. The output is base64( salt || iv || ciphertext+tag ).
Why does the same text produce different ciphertext each time?
Each encryption uses a fresh random salt and IV, so the same password and plaintext normally produce different outputs. This helps avoid reusing key/nonce combinations but does not prevent replay by itself; applications need sequence, expiry or state checks.
What does a decryption failure mean?
Usually a mistyped password, or ciphertext that was altered or copied incompletely. AES-GCM verifies the authentication tag, so any byte mismatch makes it reject decryption with an error rather than return wrong plaintext.
References and result limitations
Local results depend on the input and selected options. Retain the input example, format and processing rules when citing a result, and verify the output. Keep keys and other sensitive material out of public examples.
These references explain protocol or format rules; they do not endorse results produced by this site.