Wrong passphrase on decrypt
The output will be empty or an error message if the passphrase does not match the one used to encrypt.
Fix: Verify the passphrase is identical, including case, trailing whitespace, and encoding.
header • up to 320x100 / 728x90
Encrypt plaintext with AES and a passphrase, or decrypt CryptoJS-formatted ciphertext back to readable text, entirely in your browser.
Output will appear here...
content bottom • up to 300x250
sidebar • 160x600
Last reviewed:
AES Encrypt / Decrypt lets you encrypt any plaintext with a passphrase using AES-256-CBC (CryptoJS format) or reverse the process on ciphertext produced in the same format.
Because all cryptography runs in the browser, it is safe to use for quick note-taking, sharing short secrets over untrusted channels, and prototyping client-side encryption without spinning up a backend.
plaintext: hello devfox passphrase: my-passphrase
U2FsdGVkX1+Bd5m4nJbo7P1zYX2BOAUf9QpXz7e7VlI=
The output will be empty or an error message if the passphrase does not match the one used to encrypt.
Fix: Verify the passphrase is identical, including case, trailing whitespace, and encoding.
This tool consumes CryptoJS's default OpenSSL-style salted format (U2FsdGVkX1…).
Fix: Re-encrypt the plaintext with the same format or use a matching library for decryption.
CBC mode does not authenticate ciphertext, so tampering is not detected.
Fix: For authenticated encryption, use AES-GCM with a library that exposes it, or add an HMAC.
AES with the CryptoJS default of AES-256-CBC and OpenSSL-style salted output beginning with `U2FsdGVkX1`.
No. CBC without HMAC does not detect tampering. Use GCM or add an HMAC for authenticated encryption.
No. All encryption and decryption runs client-side.
Yes, if it was encrypted with `openssl enc -aes-256-cbc -a -salt` using the same passphrase.
Use a long, high-entropy passphrase or a randomly generated key — longer is better.
It is intended for quick prototyping and casual secrecy. For regulated data, use authenticated schemes with key management.
Combine AES encrypt/decrypt with hashing and HMAC tools for complete crypto workflows. You can also browse the full Cryptography & Hashing category for more options.
Generate SHA-256 cryptographic hash
Generate SHA-512 cryptographic hash
Generate strong passwords with adjustable length and character types. Includes a real-time strength meter and copy button for quick password creation.
Generate MD5, SHA-1, SHA-256, SHA-384, SHA-512, or SHA3 checksums from pasted text, perfect for quick integrity checks and deduplication.
Encode or decode Base64 strings
Generate a SHA-512/256 truncated digest used where 256-bit SHA-2 output is needed with SHA-512 internals.
Generate a SHA3-256 hash from any text string to match Ethereum, Keccak-family, and NIST FIPS 202 checksums.
Generate an extendable-output (XOF) SHAKE-256 hash from any text, with a configurable digest length for custom use-cases.
Generate NTLM password hash
Generate a phpass-style WordPress hash simulation for demos
Generate CRC-16 checksum
Generate CRC-32 checksum