AES Encrypt / Decrypt
Encrypt text with a passphrase using AES-256-GCM, or decrypt it back - the salt and IV are bundled into one base64 string. Runs entirely in your browser, nothing sent.
- Free, no account
- No watermark
- No usage limit
About the AES Encrypt / Decrypt
Most online AES tools make you juggle three boxes, the ciphertext, an IV, and the key, and plenty of them hand you a screen of scrambled characters the second your passphrase is off by one letter. So you're left guessing whether you got your text back or just mangled it. This one is built the opposite way. Everything decryption needs, except the passphrase in your head, is packed into one base64 string, and when the passphrase is wrong the tool says so plainly instead of faking a result.
Type your text, pick a passphrase, hit Encrypt, and you get a single string that looks like random noise. To read it back, switch to Decrypt, paste that string, and type the same passphrase, which is the whole loop. It's free, there's no sign-up, and nothing you type leaves the browser tab, there's no server to send it to. For proof that it round-trips, encrypt river-otter-block with the passphrase hunter2, copy the result, flip to Decrypt, paste, and type the same passphrase, and it comes back. Change one character of the passphrase and it refuses.
How to use it
- Pick a mode. Encrypt locks text down. Decrypt opens a string someone already encrypted (past-you counts). It stays on that mode until you switch.
- Enter your text. Encrypting? Type or paste the plain text. Decrypting? Paste the exact string you were given, every character of it, nothing trimmed off the ends.
- Type the passphrase. This is the one secret that both locks and opens the text. There's a Show / Hide toggle to confirm you typed it right, because a single wrong character means it won't open.
- Run it. Encrypt hands back a base64 string. Decrypt hands back your original text. Fumble the passphrase or feed it a damaged string and you get a short, clear error, not a crash or a page of nonsense.
- Copy the output. For encryption, copy the whole string. The salt and IV are baked into it, and decryption breaks if even one character goes missing.
There is no hidden "generate" step to find, no account to make and nothing uploaded. Load the page once, cut your Wi-Fi, and it still works, because the math runs locally in your browser.
One string, and only the passphrase to remember
Cheap AES tools stumble on the number of pieces you have to keep straight. When you encrypt, three things get produced: a random salt, a random IV, and the ciphertext. A lot of tools show those as separate fields and expect you to babysit all of them plus the key, and losing the IV leaves you stuck. Worse, every tool bundles them differently, or not at all, so a string you made on one site usually won't open on another.
Here it's one string. The salt (16 bytes), the IV (12 bytes), and the ciphertext get glued together in that order and base64-encoded into a single copy-pasteable line. Decryption reads the salt and IV back out of the front, re-derives your key, and goes. So the only thing you carry in your head is the passphrase. The salt and IV can travel out in the open, they just have to be unique per message, and they are, freshly random every time.
The trade that comes with being self-contained: this format is ours. Paste the string into some random other "AES decrypt" site and it probably won't open, because it expects a different layout. That's not a fault on either end, tools just disagree on the details. Encrypt and decrypt with this one and you're fine on any device that loads the page.
Why a wrong passphrase fails loud instead of handing you garbage
Older AES tools often run a mode called CBC, which hides your text but has no way to tell whether it was tampered with or whether you even used the right key. Feed a CBC tool the wrong password and it may cheerfully return scrambled characters that look like they could be real, leaving you no way to tell whether it worked.
This tool uses GCM, which does authenticated encryption. Alongside the ciphertext it produces a small verification tag over the encrypted data. On decrypt it checks that tag before releasing a single character. Wrong passphrase, corrupted string, a byte someone altered in transit, the tag doesn't match and decryption stops with a plain message rather than a guess. That's the wrong-passphrase test from up top, GCM caught it and refused. Same reason modern HTTPS moved to GCM.
Nobody attacks AES-256 head-on. You can't brute-force the key, the number of possible keys is 78 digits long. So attackers go after your passphrase instead, guessing fast. This tool slows that down by stretching your passphrase through 250,000 rounds of PBKDF2 before it becomes a key, which makes every guess expensive. That adds real protection, but it can't make up for a weak password. A few random words like the example above beat a short cryptic string, higher-entropy and easier to remember. If you'd rather not invent one, the password generator will.
This is a correct, standard build of strong crypto, ideal for a quick personal secret or a short message you can hand the passphrase off separately. For dozens of credentials long-term, a dedicated password manager does the secure storage and recovery a text box never will. The cipher is solid, but what a browser tool can't hand you is that same storage and recovery, or the audit history behind software built for the job.
Frequently asked questions
If I lose the passphrase, can I still get my text back?
No, and that is what encryption is for. There's no reset, no backup key, no "forgot password" link, because any of those would be a backdoor into your own text. The tool never stores the passphrase, it uses it in the moment to derive a key and then it's gone. Lose it and the text is unrecoverable. So for anything you actually need later, write the passphrase down somewhere safe before you close the tab.
Can I send an encrypted string to someone else?
Yes, and it's a common use. Encrypt the text, send them the string, and give them the passphrase over a different channel. That last part matters. Email the string and the passphrase together and anyone reading that inbox has both halves, so the encryption did nothing. Text the passphrase and email the string, or say it on a call. Split the two and someone watching a single channel gets nothing they can open.
How much text can I encrypt at once?
Plenty for normal use, notes, messages, config values, a couple of paragraphs, all instant. It's built for text you'd type or paste, not for large files or whole folders. Paste something enormous and the browser will chew on it for a moment since every byte is processed on your own machine, but there's no fixed limit because there is no server.
Does the same text always produce the same encrypted string?
No, and you want it that way. A fresh random salt and IV get made on every encryption, so encrypting identical text twice with the same passphrase gives two different-looking strings. If they came out the same, anyone watching could spot when you'd repeated a message, a leak in itself. Both random values ride inside the output, so decryption still works even though the string changes each time.
What's the difference between this and hashing?
They work in opposite directions: encryption is reversible, you scramble text with a key and the same key brings it straight back, which is what this does. Hashing is one-way, it turns data into a fixed fingerprint you can't turn back into the original, which is what you want for storing passwords or checking a file wasn't changed. Encryption is the one to reach for when you need the text back later. To verify or fingerprint something instead, use a hash generator instead.
How can I tell a real client-side tool from one that quietly uploads my text?
The giveaway is what the site says it does with your input. A genuine client-side tool encrypts right there in the page, so your plain text and passphrase never travel anywhere. Steer clear of any site that talks about processing your text "on our secure servers", because that means your secret is being shipped off to someone else's machine to be handled, the exact thing you were encrypting to avoid. If a tool needs your raw text on its server before it can lock it, that's backwards, and it's the wrong tool for anything you want kept private.