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
Enter your data and key
Type or paste the plaintext to encrypt (or ciphertext to decrypt) and enter your encryption key or password.
Configure AES settings
Select key size (128, 192, or 256 bits), mode of operation (CBC is recommended), and key derivation options.
Click Encrypt or Decrypt
The result appears instantly in your browser.
Copy the output
Click Copy to copy the ciphertext or decrypted plaintext.
Operation
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
JSON Formatter
Format, validate, and prettify JSON data online for API debugging and code review
Base64 Encoder
Encode and decode Base64 strings and files for APIs, emails, and data URIs
URL Encoder
Encode and decode URL components online for safe query strings and API parameters
Hash Generator
Generate MD5, SHA-256, SHA-512, BLAKE3, and 25+ cryptographic hashes to verify file integrity
Regex Tester
Test and debug regular expressions online with live matching and capture groups
Related guides
AES vs DES vs Triple DES: Encryption Algorithms Explained
An educational overview of symmetric encryption algorithms, their security levels, key sizes, and when to use each one in modern applications.
Base64 Encoding and Decoding: Developer Guide
Learn what Base64 encoding is, how it works, when to use it, and common pitfalls. Covers data URIs, API payloads, email attachments, and JWT tokens.
Cryptographic Hash Functions: SHA-256, MD5, and Beyond
An in-depth guide to hash functions covering SHA-256, SHA-3, MD5, BLAKE3, and their applications in file integrity, passwords, digital signatures, and blockchain.