Skip to main content
Utilavo

AES Encrypt / Decrypt

Encrypt and decrypt data with AES-128, AES-192, or AES-256 in CBC, CFB, CTR, OFB, and ECB modes

How to use AES Encrypt / Decrypt

  1. Enter your data and key

    Type or paste the plaintext to encrypt (or ciphertext to decrypt) and enter your encryption key or password.

  2. Configure AES settings

    Select key size (128, 192, or 256 bits), mode of operation (CBC is recommended), and key derivation options.

  3. Click Encrypt or Decrypt

    The result appears instantly in your browser.

  4. Copy the output

    Click Copy to copy the ciphertext or decrypted plaintext.

Operation

Cipher Settings
Key Configuration

Key Type

What is AES encryption?

AES (Advanced Encryption Standard) is the global standard for symmetric encryption, adopted by the U.S. government and used worldwide to protect sensitive data. It encrypts data in 128-bit blocks using key lengths of 128, 192, or 256 bits. AES is fast, highly secure, and implemented in hardware on virtually every modern processor.

This tool supports all five standard modes of operation — CBC, CFB, CTR, OFB, and ECB — and both PBKDF2 and EvpKDF key derivation from passwords. AES-256-CBC is recommended for all new applications requiring strong encryption.

AES is used everywhere data needs to be protected. HTTPS/TLS connections use AES (typically AES-128-GCM or AES-256-GCM) to encrypt web traffic between your browser and servers. Full-disk encryption on macOS (FileVault), Windows (BitLocker), and Linux (LUKS) all use AES-256. Password managers like 1Password and Bitwarden encrypt vaults with AES-256. Cloud storage services encrypt data at rest with AES. VPN protocols (WireGuard, IPsec, OpenVPN) rely on AES for tunnel encryption. Even the U.S. government classifies AES-256 as suitable for TOP SECRET information.

The mode of operation determines how AES processes data longer than a single 128-bit block. CBC (Cipher Block Chaining) chains each block to the previous one via XOR, providing strong diffusion but requiring sequential processing. CTR (Counter) mode turns AES into a stream cipher by encrypting incrementing counter values, allowing parallel processing and random access to encrypted data. CFB and OFB are streaming modes that convert AES into a self-synchronizing or synchronous stream cipher respectively. ECB (Electronic Codebook) encrypts each block independently, which means identical plaintext blocks produce identical ciphertext blocks — this leaks patterns and should never be used in practice. For a comprehensive comparison of encryption algorithms, see our encryption algorithms guide.

Frequently asked questions

What is the difference between AES-128, AES-192, and AES-256?

The numbers refer to the key length in bits. AES-256 uses a 256-bit key and is the strongest, suitable for the highest security requirements. AES-128 is faster and still provides strong security for most applications. AES-192 is rarely used in practice.

Which AES mode should I use?

CBC (Cipher Block Chaining) is recommended for general use. CTR (Counter) mode is preferred for streaming data. ECB (Electronic Codebook) should be avoided — it does not hide patterns in the data and is considered insecure for most uses.

What is an IV (initialization vector)?

An IV is a random value combined with the key to ensure that identical plaintexts produce different ciphertexts. It does not need to be secret but must be unique for each encryption operation. CBC, CFB, CTR, and OFB modes all require an IV.

Can I decrypt data that was encrypted with OpenSSL's AES command?

Yes, if you know the key, IV, and mode used during encryption. OpenSSL's default is AES-256-CBC with EvpKDF key derivation. Match those settings in this tool and paste the Base64-encoded ciphertext to decrypt.

What is the difference between PBKDF2 and EvpKDF key derivation?

Both derive encryption keys from passwords, but they use different algorithms. PBKDF2 (Password-Based Key Derivation Function 2) is the NIST-recommended standard, applying a hash function thousands of times (iterations) to make brute-force attacks slow. EvpKDF is OpenSSL's legacy key derivation using a single MD5 iteration, which is faster but less secure. Use PBKDF2 for new applications. Use EvpKDF only when decrypting data that was encrypted with OpenSSL's default settings.

Is it safe to encrypt sensitive data in the browser?

Yes. All encryption and decryption run client-side using the well-tested CryptoJS library for AES operations, so plaintext, keys, and ciphertext stay on your device. See our processing model for the full handling description. For production applications handling sensitive data at scale, use server-side encryption with hardware security modules (HSMs) or established libraries in your backend language.

Related tools

Related guides