100% client-side

AES Encryptor — AES-256 Text & File Encryption Online

Encrypt text and files with AES-256-GCM (authenticated encryption) or OpenSSL-compatible AES-256-CBC. Proper PBKDF2 key derivation, a fresh random salt for every encryption, chunked file support. 100% client-side — verify zero network requests in DevTools.

Privacy: everything runs in your browser via the WebCrypto API. This page makes zero network requests — your password and files never leave your device. Confirm in DevTools → Network.

How it works — AES encryption explained

AES encryption explained simply: your password never encrypts anything directly. Instead, PBKDF2 stretches it into a 256-bit key (600,000 rounds of SHA-256 with a random salt), and AES-256 uses that key to scramble your data in 16-byte blocks. Change one bit of the key and the entire output changes — that is why the password, not the algorithm, is what attackers target.

Two modes, both fully documented — no mystery parameters:

AES-256-GCM (default, recommended)

AES-256-CBC, OpenSSL-compatible

Decrypt with OpenSSL (terminal)

Encrypted something here in OpenSSL-compatible mode? Decrypt it without this page:

openssl enc -d -aes-256-cbc -pbkdf2 -in encrypted.enc -out decrypted.bin

Or encrypt in your terminal and decrypt here (paste the base64 or upload the file):

openssl enc -aes-256-cbc -pbkdf2 -salt -in secret.txt -out secret.enc
# add -a for base64 output you can paste into the Decrypt tab

5 crypto sins this tool refuses to commit

Most "AES online" tools never tell you their mode, KDF, or iteration count. Here is what to demand — and what we do:

1. ECB mode

Encrypts each 16-byte block independently, so patterns survive encryption (the famous ECB penguin). Safe only for single random blocks. We never use ECB.

2. Fixed or hardcoded IV

Reusing an IV in CBC leaks shared plaintext prefixes; in GCM a reused nonce is catastrophic — it destroys confidentiality and authenticity at once. We generate a fresh random salt + nonce for every encryption.

3. Weak key derivation

Hashing the password once with SHA-256 (or MD5) is not key derivation — GPUs try billions of guesses per second, and no salt means rainbow tables. We use PBKDF2-SHA256 with 600,000 iterations and a unique salt.

4. Low iteration counts

1,000 iterations (old OpenSSL default) falls to a modern GPU in hours. Iteration count is the work factor you impose on attackers. Ours: 600,000 (native) / 10,000 (OpenSSL-compat, matching openssl's default for interop).

5. Unauthenticated encryption

CBC without a MAC lets attackers flip bits in your ciphertext (padding-oracle attacks). GCM authenticates every chunk — tampering fails closed.

This tool vs typical online AES tools

FeatureThis toolTypical online AES tools
Authenticated encryption (GCM)Yes, defaultRarely — usually CBC or ECB
Documented KDF + iteration countPBKDF2-SHA256, 600,000Often undisclosed
Fresh random salt per encryptionYes, 16 bytesSometimes fixed or missing
OpenSSL CLI interoperabilityByte-identical formatNo
File encryption (chunked)Yes, 1 MB chunks + progressText only
Password strength meterEntropy-basedNo
Fully client-side, auditableZero network requestsVaries — check DevTools
No signup, freeYesUsually

Common uses

Frequently asked questions

What is AES-256 encryption?

AES-256 is the Advanced Encryption Standard with a 256-bit key — the symmetric cipher approved for top-secret data and used by governments, banks, and messaging apps worldwide. No practical attack exists against AES-256 itself; real-world failures always come from bad implementations (weak passwords, reused IVs, ECB mode), which is why this tool documents every parameter it uses.

How do I encrypt a file with a password?

Choose the File tab above, drop your file in, type a strong password, and click Encrypt. The file is encrypted in your browser in 1 MB chunks (so even gigabyte files work) and you download a .enc file. Decryption reverses the process with the same password.

How do I decrypt an AES-256 encrypted file?

Switch to the Decrypt tab, upload the .enc file (or paste base64 text), enter the same password, and click Decrypt. If the password is wrong or the data was tampered with, AES-GCM mode refuses to decrypt instead of returning garbage.

AES-256-GCM vs CBC — which should I use?

Use GCM (the default here). GCM is authenticated encryption: it encrypts and simultaneously proves the data was not tampered with. CBC alone does not detect tampering — flipped bits decrypt to different plaintext silently. CBC is offered here only in the OpenSSL-compatible format for interoperability with the openssl command line.

What is PBKDF2 and why do the iterations matter?

PBKDF2 turns your password into an encryption key by hashing it many times with a random salt. Each iteration costs an attacker the same work it costs you once. This tool uses 600,000 iterations of PBKDF2-SHA256 (the current OWASP recommendation); many online tools use 1,000–10,000, which modern GPUs chew through in hours.

Can AES-256 be decrypted without the password?

No — not with any known technology. Brute-forcing a 256-bit key would take longer than the age of the universe. When "AES decryptors" claim otherwise, they mean guessing weak passwords, not breaking AES. Use a long, random password (the strength meter above estimates entropy in bits).

How do I decrypt with OpenSSL what this tool encrypted?

Encrypt in "AES-256-CBC (OpenSSL compatible)" mode, download the .enc file, then run: openssl enc -d -aes-256-cbc -pbkdf2 -in file.enc -out file.dec — OpenSSL will prompt for the password. The format is byte-identical to openssl enc output.

Can I encrypt with the openssl CLI and decrypt here?

Yes. Run: openssl enc -aes-256-cbc -pbkdf2 -salt -in secret.txt -out secret.enc (add -a for base64 output), then paste or upload the result into the Decrypt tab of this page with the same password.

What is wrong with ECB mode?

ECB encrypts each 16-byte block independently, so identical plaintext blocks produce identical ciphertext blocks — patterns in your data stay visible (the famous "ECB penguin"). It is only safe for single random blocks like keys. This tool never uses ECB.

Why is reusing an IV dangerous?

In CBC mode, a reused IV leaks whether two messages share a prefix. In GCM mode it is catastrophic: nonce reuse destroys both confidentiality and authenticity. This tool generates a fresh random salt and IV/nonce for every single encryption — you never have to think about it.

How strong should my encryption password be?

Aim for at least 60–80 bits of entropy: roughly 5–6 random words, or 16+ random characters mixing cases, digits and symbols. The meter above shows your password's estimated entropy live. AES-256 is unbreakable, but a weak password makes that irrelevant.

Can I encrypt images or any file type?

Yes — the File tab encrypts any file type (image files such as JPG/PNG, PDFs, videos, archives) as raw bytes. Encryption works on bytes, not file types, so the format does not matter.

Does this AES encryptor work on Mac, Linux and Windows?

Yes. It runs entirely in your browser using the WebCrypto API, which works on all modern browsers on Mac, Linux, Windows, Android and iOS. No install needed.

Is it safe to paste secrets into an online encryption tool?

Only if you can verify nothing leaves your browser. This page makes zero network requests after loading — open DevTools, watch the Network tab while encrypting, and confirm. That verifiability is the whole point; never trust an "online encryptor" you cannot audit this way.

What is the "Salted__" format?

"Salted__" is OpenSSL's file header: the 8 ASCII bytes "Salted__", followed by an 8-byte random salt, followed by the ciphertext. This tool's OpenSSL-compatible mode produces exactly that layout with PBKDF2-SHA256 key derivation, so the openssl command line can decrypt it directly.

Free tool by NRTechStudio