aes-encryption.com
English

AES · GCM / CBC / CTR

AES Decryption Online

Start with the format you actually have. Decrypt this site's full recovery package, or supply the exact parameters required by a raw-key system.

Browser-local processing128 / 192 / 256No analytics inside encryption workspace
Processing locally…
Loading, copying or downloading blocked? Open the isolated workspace in a new tab. Inputs are not transferred. ↗

Identify the ciphertext format first

A password is not an AES key, and Base64 is not an encryption format. For this site's v1 package, retain the JSON object with its format, version, type, KDF, salt, nonce, tag length and ciphertext fields. Password mode reads these parameters from the package and does not guess the algorithm.

A string beginning with U2FsdGVkX1 may be an OpenSSL Salted__ envelope. That password format, CryptoJS defaults and arbitrary vendor containers are not automatically supported. Selecting raw mode is useful only if you can obtain the actual key bytes and IV; entering a password in the key field does not reproduce another program's derivation.

How to decrypt a text package

  1. Use the default password profile and paste the full JSON package into Input.
  2. Enter the original password without trimming it. Run Decrypt and wait for the local derivation.
  3. If authentication succeeds, copy or download the plaintext. Empty plaintext is a valid result.
  4. If the package is a file package, use File encryption instead. The tool does not interpret arbitrary encrypted documents or archives.

Wrong keys, nonces, tags or damaged ciphertext can all cause a GCM authentication error. The message cannot determine which one was wrong; no partial plaintext is released. Do not keep changing bytes at random until a different mode produces readable-looking output.

Raw compatibility checklist

Match all of these: AES mode; 16/24/32-byte key; key encoding; 12-byte GCM nonce or 16-byte CBC IV/CTR counter; and ciphertext encoding. GCM needs the same additional authenticated data, if used. Leave the separate tag field empty when the ciphertext already includes its final 16-byte tag.

CBC here removes PKCS7 padding. CTR has no padding and uses a 64-bit low-order counter field. A CBC padding failure is not a reliable diagnosis of a wrong password, and CTR can return arbitrary bytes with a wrong key. Neither mode authenticates the recovered content. Use the exact published parameters and a trusted integrity check rather than treating a lack of errors as proof.

Technical references

Updated October 16, 2026

Popular guides

What is AES?GCM vs CBC vs CTRAES key sizesIVs and noncesAES vs RSAAES vs DESPadding explained

Frequently asked questions

What does authentication failed mean?

The key or parameters do not match, or the data is damaged. GCM cannot safely return plaintext. The error does not establish that the password alone is wrong.

Where do I put a separate GCM tag?

Use raw mode and the advanced tag field, encoded the same way as ciphertext. In that case the ciphertext input must not also contain the tag. This site's password packages already append it.

Can I paste a Base64 value and let the tool guess?

No. Base64 only represents bytes. You must know the envelope, mode, key source, IV/nonce, tag layout and any AAD.